• [파이썬 코딩의 기술] 메타클래스와 attributes - @property, descriptor, getattr

    Effective Python - Brett Slatkin을 읽으면서 공부 및 정리를 하며 글을 쓰고 있습니다. Item 29. Getter와 Setter대신 일반속성 사용하기 다른 프로그래밍 언어를 사용하다가 Python으로 넘어온 사람들은 자연스럽게 getter와 setter을 class내 method로 만드려고 한다. 하지만, 이 방법은 Pythonic하지가 않다, 특히 기존 값에 추가적 연산을 할 때 불필요한 코드를 만들어낸다. class OtherLanguage(object):...


  • [파이썬 코딩의 기술] 클래스와 상속 - __call__, @classmethod, super, mixin

    Effective Python - Brett Slatkin을 읽으면서 공부 및 정리를 하며 글을 쓰고 있습니다. Item 23. __call__ __call__ 은 helper class로 함수가 호출될 때 인자로 들어가지면 사용되는 함수이다. 이 함수가 왜 필요한지 알아보기 위해서 이 함수를 사용하지 않을 때의 경우를 보려고 한다. def log_missing(): print(‘Key added’) return 0 current = {‘green’:...


  • [파이썬 코딩의 기술] 함수 - Closures, Positional, Keyword Arguments

    Effective Python - Brett Slatkin을 읽으면서 공부 및 정리를 하며 글을 쓰고 있습니다. Python을 잘쓰기 위한 총 59가지의 방법을 소개하고 있다. 다만, post에서는 많이 헷갈려하고, 알면 도움이 될만한 방법들 위주로 소개할 예정이다. Item 15. Closures 보통 closures를 사용하는 언어를 생각하면 javascript를 떠올린다. 하지만, Python에서 closure라는 개념이 사용되는지 잘 알지 못한다....


  • [파이썬 코딩의 기술] 파이썬다운 생각 - enumerate, zip, try-except-else-finally

    Effective Python - Brett Slatkin을 읽으면서 공부 및 정리를 하며 글을 쓰고 있습니다. Python을 잘쓰기 위한 총 59가지의 방법을 소개하고 있다. 다만, post에서는 많이 헷갈려하고, 알면 도움이 될만한 방법들 위주로 소개할 예정이다. Pythonic thinking 이어서 작성하고 있습니다. Item 10. Enumerate 주로 Python으로 list를 iterate할 때 for i in range(len(list_name)) 혹은...


  • [파이썬 코딩의 기술] 파이썬다운 생각 - PEP8, bytes str, list comprehension, generator

    Effective Python - Brett Slatkin을 읽으면서 공부 및 정리를 하며 글을 쓰고 있습니다. Python을 잘쓰기 위한 총 59가지의 방법을 소개하고 있다. 다만, post에서는 많이 헷갈려하고, 알면 도움이 될만한 방법들 위주로 소개할 예정이다. Item 2. PEP 8 스타일 가이드를 따르자 Python Enhancement Proposal #8, 짧게 줄여서 PEP 8, 라는 것이 있는데...