반응형
리스트, 집합, 딕셔너리와 같은 타입이나 문자열은 for-in 구문을 통해서 반복적으로 하나씩 데이터를 꺼내서 처리할수 있다.
class Person:
__init__()
__str__(), __repr__() #값의형태를 구현하고 싶을때 repr
__add__(), __sub__()..__gt__(), __ge__() 연산자 특수메소드 재정의
#iterable
__iter__()
#iterator
__next__()
#subscriptable - indexing
__getitem__() + __len__()
#직접호출되는 경우는 없다.
class Person:
__init__()
__str__(), __repr__() #값의형태를 구현하고 싶을때 repr
__add__(), __sub__()..__gt__(), __ge__() 연산자 특수메소드 재정의
#iterable
__iter__()
#iterator
__next__()
#subscriptable - indexing
__getitem__() + __len__()
#직접호출되는 경우는 없다.
- Iterable
: 반복할 수 있는것, 반복문 뒤에 넣을 수 있는것 , 값을 여러개 가지고 있으면서 제공해주는것. __ iter __ (특수함수들은 외부에서 직접호출x)
- Iterator
: 이터러블을 만드는 방법중 하나 __iter__, __next__
ex. __next__(iterator)
- Generator
: 이터레이터를 만드는 방법 중 하나. 모든 제너레이터는 이터레이터이다.
이터레이터를 생성해주는 함수, 함수안에 yield키워드를 사용한다. 그러나 제너레이터와 함수는 다르다.
Generator와 List의 차이
Generator: 필요한쪽에서 달라고할때만 그때그때 만들어준다. (lazy실행), 어떻게 생성할지에 대한로직만 제공하고 있다, 로직으로서 구현. 그때그때 쓰고 다썼으면 제거
List: 메모리에 미리 넣어놓고 필요하면 갖다쓰는 개념
Decorator (장식자)
@property (장식자) → @ 가 함수를 꾸며준다
def name()
함수를 수정하지 않고 전과 후에 다양하게 추가하고 싶을 때. 추가적으로 넣어서 기능을 꾸며주는 것.
함수의 전/후 처리 하는 구문을 필요하면 붙이고 필요없으면 쉽게 제거할 수 있다.
def decorator(func):
def wrapper([parameter]): # decorator 적용할 함수에 파라미터를 전달할 경우 parameter 변수들을 선언
# 전처리
func()
# 후처리
return wrapper
반응형
'데이터 분석일기 > python' 카테고리의 다른 글
정규표현식 (Regular Expression) (1) | 2023.08.29 |
---|---|
예외처리 (0) | 2023.08.24 |
입출력 (1) | 2023.08.24 |
객체지향 프로그래밍 (0) | 2023.08.21 |
함수 (0) | 2023.08.17 |