엄범


다형성을 쓰고 싶다면? abc 클래스


.으로 접근할 수 있는 딕셔너리

```python

class dotdict(dict):

    def __getattr__(self, name):

        return self[name]

```



클래스 메서드에서 어떤 값을 초기 한 번만 계산하고 이후 호출에서는 단순히 반환만 하고 싶을 때

```python
class T:
    def getData(self):
        if hasattr(self, "var"):
            self.var = 3
        return self.var
```

2019/02/04 - [Coding Syntax/Python] - 파이썬에는 확장 함수가 없다. 어떤 클래스에 추가 기능이 필요한 경우.


파이썬에서 클로저 사용하기

```python
def makeMultiplier(operand):
    def multiplier(arg):
        return arg * operand

    return multiplier
```
```python
>>> multi2 = makeMultiplier(2)
>>> multi2(4)
8
```

@dump 데커레이터

```python

def dump(func):

    def wrapped(*args, **kwargs):

        print("func name: {}".format(func.__name__))

        print("args     : {}".format(' '.join(map(str, args))))

        print("kwargs   : {}".format(kwargs.items()))

        output = func(*args, **kwargs)

        print("output   : {}".format(output))

        return output

    return wrapped

```

vars() 키워드

```python

>>> def a(a):

...     print(vars())

...

>>> a(3)

{'a': 3}

```


기타 팁과 메모