본문 바로가기
Tip

Python: Function annotations

by 단창 2021. 4. 30.

python 3 에서 부터 작동하는 기능 

함수의 input, output을 주석에 적어주는게 아니라, annotations 라는 기능으로 명시하는것 

사용법 >

def func(a: int, b: int = 5) -> float:
    return float(a+b)
    
print(func(5))

이렇게 쓰는데, 

print(func.__annotations__) 이렇게 함수의 __annotations__ 속성값을 보면 
{'a': <class 'int'>, 'b': <class 'int'>, 'return': <class 'float'>}

input, output을 찾아 볼 수 있다. 이외에 장점은 

명시적으로 input, output을 지정함으로 각종 IDE에서 auto-compleation이 더 잘 working한다 

다만 annotation들은 모두 강제성이 없기 때문에 지키지 않아도 에러가 나지 않는다.
print(func('4','5'))

이렇게 intput을 str로 넣어줘도 string+string을 잘 수행한다 


out: 

45.0

반응형