Language

반응형
반응형
Language/Python

[코딩도장]43.정규표현식

43. 정규표현식 43.1 문자열 판단 print(re.match('Hello', 'Hello, world!')) print(re.match('python', 'hello, world!')) ========================== None # 문자열 위치 판단 # ^문자열, 문자열$ print(re.search('^hello', 'hello, world')) print(re.search('world$', 'hello, world')) ========================== # 지정된 문자열 하나라도 포함여부 # 문자열|문자열 # 문자열|문자열|문자열|문자열 print(re.match('hello|world', 'hello')) ========================== 43.2 범..

Language/Python

[코딩도장]42.데코레이터

42. 데코레이터 함수를 장식하는 @staticmethod, @classmethod, @abstractmethod 등을 의미한다. 42.1 데코레이터 만들기 # 기존 방식대로 하는 경우 동일한 코드가 반복된다 def hello(): print('hello method start') print('hello') print('hello end') def world(): print('world method start') print('world') print('world end') hello() world() ========================== hello method start hello hello end world method start world world end def trace(func): #..

Language/Python

[코딩도장]41.코루틴

41.코루틴(Corutine) Cooperative routine 서로 협력하는 루틴 즉, 메인 루틴과 서브 루틴처럼 종속된 관계가 아니라 서로 대등한 관계이며 특정 시점에 상대방의 코드를 실행 def add(a, b):# 서브루틴 c = a + b print(c) print('add 함수') def calc():# 메인루틴 add(1, 2)# 서브루틴 print('calc 함수') calc()# 메인루틴 코루틴은 함수가 종료되지 않은 상태에서 메인 루틴의 코드를 실행한 뒤 다시 돌아와서 코루틴의 코드를 실행한다. 따라서 코루틴이 종료되지 않았으므로 코루틴의 내용도 계속 유지된다. 코루틴은 진입점(함수의 코드를 실행하는 지점)이 여러개인 함수이다. 41.1 코루틴 값 보내기 - 제너레이터의 특별한형태 -..

Language/Python

[코딩도장]40.제너레이터

40. 제너레이터(발생자) 이터레이터를 생성해주는 함수 - 이터레이터는 클래스에 __iter__, __next__ 또는 __getitem__메서드를 구현해야 하지만, 제너레이터는 함수 안에서 yield라는 키워드만 사용하여 간단하게 작성할 수 있다. 40.1 제너레이터와 yield def number_generator(): yield 0 yield 1 yield 2 for i in number_generator(): print(i) ========================== 0 1 2 # 제너레이터 객체가 이터레이터인지 확인 g = number_generator() print(g) # 이터레이터와 동일하게 동작 print(g.__next__()) print(g.__next__()) print(g._..

Language/Python

[코딩도장]39. 이터레이터

39. 이터레이터 이터레이터(Iterator) - 값을 차례대로 꺼낼 수 있는 객체 (=반복자) - for문의 경우 숫자가 아주 많을 때는 메모리를 많이 사용하게 되므로 성능에서 불리하다 - 지연평가(lazy evaluation): 파이선에서는 이터레이터만 생성하고 값이 필요한 시점이 되었을 때 값을 만드는 방식을 사용 39.1 반복 가능한 객체 알아보기 - 객체에 __iter__메서드가 있는지 확인해보면 된다. - dir(객체) - 이터레이터 프로토콜 : __iter__와 __next__를 모두 가진 객체 반복 가능한 객체는 요소를 한번에 하나씩 가져올 수 있는 객체. 이터레이터는 __next__메서드를 사용해서 차례대로 값을 꺼낼 수 있는 객체이다. 반복 가능한 객체(iteralbe)와 이터레이터(i..

Language/Python

[코딩도장]38.예외처리

38. 예외처리 - 예외(exception): 코드를 실행하는 중에 발생한 에러 38.1 try except 사용 def ten_div(x): return 10 / x # print(ten_div(0)) # ZeroDisvisionError: division by zero try: x = 0 y = 10 / x print(x) except: print('exception!!') ========================== exception!! # 특정 예외만 처리 / 에러 메시지 y = [10, 20, 30] try: index, x = map(int, input('index, number : ').split()) print(y[index] / x) except ZeroDivisionError as ..

emojiyeon
'Language' 카테고리의 글 목록 (3 Page)