이 문서는 파이썬 데코레이터에 대해 간단히 요점정리와 예제를 제공합니다. 데코레이터 (=decorator) : - 다른함수를 인수로 받으면서 callable 을 리턴하는 callable - 데커레이터는 데커레이트되는 함수(인수로 받은 callable)에 어떤 처리를 수행한뒤, 인수로 받은 함수를 그대로 리턴하거나 다른 콜러블 객체를 리턴한다. - 런타임이 아닌 import 타임에 실행된다. # 간단 데코레이터 예제 def decorate(func): def decorated(): print("데코레이터 실행 전") func() print("데코레이터 실행 후") return decorated @decorate def target(): print('target 함수 실행중임') target() 콜러블 (=..
String (문자열) literal - 파이썬 3.0 부터는 자동으로 유니코드 문자열로 취급되며, 접두사 b 를 붙이면 바이트 리터럴로 취급된다 - 파이썬 2 에서는 기본 리터럴이 바이트 리터럴이며, 접두사 u 를 붙이면 유니코드 문자열로 취급된다 (파이썬 3와 약간 반대쥬?) - Escape sequence (백슬래시 문자열들, 개행문자... 같은거) 를 사용할 수 있다. - 그외 쓸만한 문자열 리터럴의 속성들을 적어봄 # Basic string # 문자열 기본 print("example1") print('example2') s = """ "example3" !!! '따옴표 있어도 그냥 출력됨' """ print(s) # 자동 접합 (concat) # 인접해 있으면 그냥 자동으로 붙는다 s = "he..
이 포스팅은 파이썬 3 기준으로 인스턴스 메소드에 대하여 이야기 합니다. 본 내용에 앞서 아래 2가지 용어를 먼저 짚고 넘어가는게 좋겠습니다. - 인스턴스: 클래스의 생성자가 실행되어 얻어진 클래스 객체 - 인스턴스 메소드: 인스턴스에 바인딩된 함수 모든 인스턴스 메소드의 생김새는 일단 아래와 비슷하게 생겼죠 class MyClass: def my_method(self, *args, **kwargs): # some code comes here ... pass 클래스 하위에 소속 되어있고, 공통적으로 암묵적 첫번째 positional argument 인 self 를 가지고 있습니다. 여기서 self 는 인스턴스 자체를 가리킵니다. 즉, 모든 인스턴스 메소드는 인스턴스 정보에 대한 접근이 가능하며, 이를 이..
이 포스팅에서는 파이썬에 클래스 메소드와 스태틱 메소드의 성격을 알아보고, 두가지 메소드의 차이점을 한번 비교해본다. --- 클래스 메소드 (= @classmethod 데코레이터 함수) - class 자체에 바인딩 된 메소드 (인스턴스에서 호출 불가) - class 자체를 암묵적인 첫번째 파라미터로 넘겨받는다. - 그로인해 함수 안에서 클래스 자체에서 들고있는 모든 정보에 접근이 가능하다. - 반대로 클래스 인스턴스 정보는 접근이 불가능하다 - 메소드 내에서 class state 를 변경할 수 있으며 이는 현재 메모리에 올라가 있는 해당 클래스의 모든 인스턴스에 영향을 줄 수 있다. 그래서 이 부분은 클래스 메소드 생성 시, 매우 주의해야 함. - 일반적으로 클래스의 factory method (cls ..
1. 하이라이팅 필요없고 그냥 간단하게 그냥 넣고 싶을때 티스토리 기본 에디팅 화면에서 상단에 "..." 버튼 눌러보면 거기에 "코드블럭" 이라고 있다. 그거 사용하면 됨. ---------- 2. 하이라이팅 X, 줄번호 O Line number 필요 없으면 심플하게 여길 이용해도 좋다. Django Template Language syntax 까지 제공하는 것으로 봐서 꽤 커버리지 넓어 보임. 그냥 코드 넣고 스타일 고르고 (나는 Zenbrun 이 좋더라) HIGHLIGHT!! 버튼 누르면 왼쪽 하단에 하이라이팅 된 html 코드가 쫙 나온다. 그거 편집기> HTML 모드에서 복붙하면 됨. https://pinetools.com/syntax-highlighter Online Syntax highligh..