Python attrs is a Python library that simplifies the process of defining classes by generating boilerplate code.
- Install
python -m pip install attrsBasic Code
Default
๋ชจ๋ attribute์ ๋ํด์ class์ ๊ฐ์ ๋๊ฒจ์ฃผ์ง ์์ ๊ฒฝ์ฐ, ์ด๊ธฐ ๊ฐ์ ์ํ custom code ์์ฑ ๊ฐ๋ฅ
- Example Code
from attrs import Factory
@define
class User:
a: int = 42
b: list = Factory(list)
c: dict = field()
@d.default
def _any_name(self):
return {}** Factory
Class ๊ฐ์ฒด๋ง๋ค ๊ณ ์ ํ ํ๋๊ฐ์ ๊ฐ์ง ์ ์๋๋ก ํ ๋น
๊ธฐ๋ณธ ๋ฆฌ์คํธ ์ด๊ธฐํ๋ก ์ ์ธํ ๊ฒฝ์ฐ, ๋ค๋ฅธ ์ธ์คํด์ค์ ํ๋๊ฐ ๊ณต์ ๊ฐ ๋๋ฒ๋ฆผ
@define
class A:
x = []
a = A()
b = A()
a.x.append(42)
b.x
>>> [42]์ฃผ์์ฌํญ decorator ๋ค์ attribute๋ค์ด set ๋ ๋ ์ํ๋๊ธฐ ๋๋ฌธ์, attr์ ์์์ ์์กด๋์ด ์์ด
selfObject๊ฐ ์์ ํ๊ฒ initialized ๋์ง ์์ ์ ์๋ค.self๋ฅผ ๋๋๋ก ์ ๊ฒ ์ฌ์ฉํ ๊ฒ.!
- Official Docs