본문 바로가기

Python10

Generator Generator는 제네레이터 함수가 호출될 때 반환되는 iterator의 일종입니다. 제네레이터 함수는 일반적인 함수와는 다르게 yield 구문을 사용해 데이터를 원하는 시점에 반환 / 처리 를 다시 시작할 수 있습니다. 일반적인 함수는 진입점이 하나라면, 제네레이터는 진입점이 여러개입니다. 이러한 특성을 사용하여 원하는 시점에 데이터를 받을 수 있습니다. 제네레이터에도 표현식이 있습니다. Lazy evaluation을 위해 사용 될 수 있습니다. Lazy는 실행을 지연시킨다는 의미입니다. Generator 예시 def generator(): yield 77 yield 'generator' yield False gen = generator() print(gen)# yield문이 포함된 제네레이터 함수를.. 2020. 6. 5.
Iterator 리스트, set, dictionary와 같은 컬렉션이나 문자열과 같은 문자 sequence 등은 for문을 써서 하나씩 데이터를 처리할 수 있는데, 이렇게 하나하나 처리할 수있는 컬렉션이나 sequence들을 Iterable 객체(Iterable Object)라고 부릅니다. 한마디로, Iterator는 순차적으로 꺼내올 수 있는 객체입니다. iter() : 객체의 __iter__ 를 호출하는 함수이고 next() : 객체의 __next__를 호출하는 함수입니다. 객체 내부에 __iter__ 가 있다는것은 반복가능한 객체라는 뜻이고, __next__는 for문으로 반복가능한 객체안에 데이터를 꺼내는 기능을하는 함수입니다. ex) a_list = [1, 2, 3] R = iter(a_list)# 반복문의 값.. 2020. 6. 4.
Python Assignment (List comprehension) 1. 다음과 같은 도시목록의 리스트가 주어졌을때, 도시이름이 S로 시작하지 않는 도시만 리스트로 만들 때 리스트 컴프리헨션을 사용하여 함수를 작성해 보세요. cities = [Tokyo, Shanghai, Jakarta, Seoul, Guangzhou, Beijing, Karachi, Shenzhen, Delhi ] code no_s_list = [x for x in cities if x[0] != "S"] print(no_s_list) results ['Tokyo', 'Jakarta', 'Guangzhou', 'Beijing', 'Karachi', 'Delhi'] 2. 다음과 같은 도시, 인구수가 튜플의 리스트로 주어졌을때, 키가 도시 값이 인구수인 딕셔너리를 딕셔너리 컴프리헨션을 사용한 함수를 작성해.. 2020. 6. 4.
Python etc.. Exception Exception이란 예외상황이란 뜻인데요, 내가 코드를 작성하는데 의도치않게 오류가 날때가 있을 때 쓰는 코드인것 같습니다. def ecexption_func(index): a_list = [1, 2, 3] print(a_list[index]) ecexption_func(3) # error => IndexError: list index out of range Eception Handling : try 구문을 활용함 def ecexption_func(index): a_list = [1, 2, 3] try: print(a_list[index]) except Exception:# 에러가 낫을때 실행되는 구문 print("에러가 났습니다.") finally:# 에러가나거나 나지않거나 실행되는.. 2020. 6. 4.