Python/이것저것 파이썬
-
Python doctestPython/이것저것 파이썬 2021. 10. 24. 15:32
docstring 을 이용한 간단한 테스트. import doctest def test(n): """ >>> test(1) 1211 """ return n + 120 doctest.testmod() 독스트링 내 >>> 뒤에 작성 다음 줄에는 결과를 작성하고 실행. 파이참에서는 'import doctest' 임포트 문과 'doctest.testmod()' 문을 작성하지 않아도 테스트해 줌.. 파이참에서의 결과는 다음과 같다. Failure ********************************************************************** File "C:/PyProjects/test/test.py", line 3, in test Failed example: test(1) Expec..
-
파이썬 싱글턴 패턴Python/이것저것 파이썬 2021. 10. 23. 13:31
인스턴스가 하나만 생성되어야 할 때 사용하는 패턴. 간단히 class Singleton(type): __instance = None def __call__(cls, *args, **kwargs): if cls.__instance is None: cls.__instance = super().__call__(*args, **kwargs) return cls.__instance class MyClass(metaclass=Singleton): def __init__(self, x): self.x = x m1 = MyClass(1) m2 = MyClass(2) print(m1, m2) assert m1 is m2 print(m1.x, m2.x) assert m1.x == m2.x # print(m1, m2) # ..
-
옵저버 패턴(observer pattern)Python/이것저것 파이썬 2021. 10. 23. 12:35
# observer pattern 1 class Subscriber: def __init__(self, name): self.name = name def update(self, message): print(f'{self.name}, {message}') class Publisher: def __init__(self): self.subscribers = set() def register(self, person): self.subscribers.add(person) def unregister(self, person): self.subscribers.remove(person) def dispatch(self, message): for subscriber in self.subscribers: subscriber..
-
[기사] “2~5배 더 빠르게”··· 귀도 반 로섬, 파이썬 속도 개선한다Python/이것저것 파이썬 2021. 5. 17. 09:06
https://www.ciokorea.com/news/193909?fbclid=IwAR3fpAX6fbBlmBqKJX5I6eEYwWWVQIUiMb3PP4D7Knm2qryEwHkbpV20ods “2~5배 더 빠르게”··· 귀도 반 로섬, 파이썬 속도 개선한다 파이썬(Python) 창시자 귀도 반 로섬이 파이콘 2021(Pycon 2021)에서 진행된 파이썬 랭귀지 서밋(Python Language Summit)에서 파이썬 속도를 2배에서 5배까지 더 빠르게 만들기 위한 단기 및 장기 계획을 발표 www.ciokorea.com 파이썬 창시자 귀도 반 로섬 "최대 약점인 속도 최대 5배 향상 예정" 속도향상 프로젝트는 마이크로소프트 산하 연구팀 주도
-
덕 타이핑Python/이것저것 파이썬 2021. 5. 16. 08:48
Duck Typing - 'If it walks like a duck and it quacks like a duck, then it must be a duck' '오리처럼 걷고, 오리처럼 꽥꽥거리면, 그것은 오리임이 틀림없다.' 간단하게 코드를 만들어 봤습니다. Bird와 Cat는 전혀 다른 클래스입니다. 하지만 같은 메서드명을 가지고 있기 때문에 who_sing 함수에서 두 클래스의 메서드를 모두 사용할 수 있습니다. 파이썬에서는, 전혀 다른 클래스지만 같은 이름의 속성이나 메서드가 있다면, 특별한 구분 없이 쓸 수 있음을 알 수 있죠. 어떤 객체가 어떤 타입에 걸맞은 속성(변수)과 메서드(함수)를 가지면, 그 객체는 해당 타입에 속하는 것으로 간주하는 것을 덕 타이핑이라고 합니다. class Bird..
-
Python Zip 2차원 배열 회전Python/이것저것 파이썬 2020. 10. 24. 16:53
1. zip 내장 함수(BIF) zip은 각 iterables의 요소들을 하나씩 모아 이터레이터를 만듭니다. iterable (이터러블) 멤버들을 한 번에 하나씩 돌려줄 수 있는 객체. 이터러블의 예로는 모든 (list, str, tuple 같은) 시퀀스 형들, dict 같은 몇몇 비 시퀀스 형들, 파일 객체들, __iter__() 나 시퀀스 개념을 구현하는 __getitem__() 메서드를 써서 정의한 모든 클래스의 객체들이 있다. a = [1, 2, 3, 4, 5] b = ['a', 'b', 'c', 'd', 'e'] for each in zip(a, b): print(each) (1, 'a') (2, 'b') (3, 'c') (4, 'd') (5, 'e') 튜플로 돌려줍니다. 파이썬에선 튜플이 기본..
-
tkinter 공부하기 좋은 블로그Python/이것저것 파이썬 2019. 7. 5. 20:02
tkinter 공부하기 좋은 블로그를 찾았습니다. 추천~! Python-tkinter PYTHON TKINTER 강좌 : 제 31강 – SEPARATOR - [0 COMMENTS]2018-06-18 PYTHON TKINTER 강좌 : 제 30강 – TREEVIEW - [2 COMMENTS]2018-06-17 PYTHON TKINTER 강좌 : 제 29강 – SIZEGRIP - [0 COMMENTS]2018-06-12 PYTHON TKINTER 강좌 : 제 28강 – NOTEBOOK - [5 COMMENTS]2018-06-09 PYTHON TKINTER 강좌 : 제 27강 – PROGRESSBAR - [0 COMMENTS]2018-06-08 PYTHON TKINTER 강좌 : 제 26강 – COMBOBOX..