/images/ds.jpg

Researcher

[Python] class, class method, static method, named tuple

1. class method 일반적으로 클래스 안에 정의된 함수는 self를 인자로 받는 인스턴스 함수(Instance Method) @classmethod 데커레이터가 함수에 정의되어 있다면 이는 클래스 함수(Class Method)로 클래스 전체에 영향을 줌 클래스 함수는 생성된 모든 객체에 영향을 줌 Python에서는 클래스 함수의 매개변수로 cls를 사용 다음 예제코드는 클래스 함수를 통해 해당 클래스로부터 생성된 객체의 수를 확인할 수 있음 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # ex) class method class A(): count = 0 def __init__(self): A.

[Python] class, get/set, property, private, name mangling

1. get/set 함수 Java, C++ 등 일부 언어에서는 클래스 멤버 변수에 직접 접근을 제어하는 private 속성을 지원 이러한 private 변수에 접근하기 위해 setter/getter 함수를 이용 하지만, Python에서는 모든 속성이 public Python에서 클래스 멤버 변수에 접근하는 것을 제한하는 방식 setter/getter 함수 property 멤버변수 앞에 __ 더블 언더스코어 추가(private naming convention) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 1.

[Python] class, 상속, 함수 Override, super()

1. 객체(object)와 클래스(class) Python에서는 모든 것이 객체 숫자, 문자, 문자열 등… 객체는 데이터(변수 또는 속성)와 코드(함수 또는 메소드)를 포함한다. 객체는 class에 의해 생성 1 2 3 4 5 6 7 8 9 10 11 class Person(): # 객체 초기화를 위한 __init__ 함수 def __init__(self, name): self.name = name if __name__ == "__main__": someone = Person("nick") print(someone.name) # 실행결과 # nick class는 객체를 만드는 틀, class를 통해 여러개의 객체를 생성 객체의 초기화를 위해 class 내부에 __init__함수 선언 __init__ 함수의 첫 번째 매개변수는 self, self는 특정 객체 자신을 의미 위의 예제코드 동작 순서 Person 클래스의 정의를 찾음 새로운 객체를 메모리에 생성 객체의 __init__ 함수를 호출, 새로 생성된 객체를 self에 전달하고, 다음으로 초기화 문자열 "nick"을 전달 self.

[Python] import, module, package

1. 모듈과 import 문 모듈: 파이썬 코드로 작성된 하나의 파일을 의미 import 문을 이용하여 모듈을 추가할 수 있음 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 # report.py def get_description(): """Return random weather, just like the pros""" from random import choice possibilities = ['rain', 'snow', 'sleet', 'fog', 'sun', 'who knows'] return choice(possibilities) # weatherman.

[Python] 예외처리, try/except

1. 예외처리 어떤 상황에서 실패할 수 있는 코드를 실행했을 때 잠재적인 에러를 방지하기 위해 예외처리가 필요하다. 파이썬에서는 try/except 구문 사용 에러가 예상되는 코드에 try문 사용, 에러 처리를 위해서는 except문 사용 1 2 3 4 5 6 7 8 >>> short_list = [1, 2, 3] >>> position = 5 >>> try: short_list[position] >>> except: print('Need a position between 0 and', len(short_list)-1, ' but got', position) Need a position between 0 and 2 but got 5 try 블록 안의 코드를 실행할 때 에러가 발생하며 예외가 발생한다.

[Python] Generator, Decorator, enumerate

1. 제너레이터(Generator) 제너레이터는 파이썬에서 어떤 시퀀스를 생성하는 객체를 의미한다. 특히, 제너레이터는 이터레이터(Iterator)의 소스롤 자주 활용된다. 대표적인 제너레이터로는 range() 함수가 있다. 제너레이터는 제너레이터 함수로 함수 형태로 쓰일 수도 있는데 이 때 일반 함수와 달리 return이 아닌 yield문으로 값을 반환하게 된다. yield문은 간단히 말해 제너레이터 객체로 반환을 한다는 의미이다. 다음은 제너레이터의 예시 코드이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # yield문을 통해 제너레이터 함수를 작성한 예시코드 >>> def my_range(first=0, last=10, step=1): number = first while number < last: yield number number += step >>> my_range <function my_range at 0x10d80be18> # my_range()함수를 호출한 결과, 제너레이터 객체가 반환된 것을 확인할 수 있다.