Pythonμμ ν¨ν€μ§ νμΌμ κ·Έλ₯ importν λ€
ν¨ν€μ§ μμ μλ λͺ¨λλ€μ κ·Έλ₯ μ¬μ©νλ €κ³ νλ©΄
μ€λ₯(AttributeError)κ° λ°μνλ€.
μλ₯Ό λ€μ΄λ³΄μ.
import shapes
print(shapes.area.circle(5))
print(shapes.volume.sphere(3))
κ°λ¨ν shapesλΌλ ν¨ν€μ§λ₯Ό λ§λ€μ΄μ
ν¨ν€μ§ μμ μλ areaμ volume λͺ¨λμ μ¬μ©νλ €κ³ νλ
AttributeError: module 'shapes' has no attribute 'area'
λΌλ μ€λ₯κ° λ΄λ€.
νμ§λ§
from shapes.area
import circle from shapes.volume
import sphere print(circle(5))
print(sphere(3))
λ₯Ό νλ©΄ μ€λ₯κ° λ°μνμ§ μλλ€.
μ΄ μ΄μ λ 무μμΌκΉ?
μ λ΅μ ν¨ν€μ§ μμ __init__.py νμΌ μ 무μ λ¬λ Έλ€.
*** initμ λ€λ€ μμνκ² μ§λ§ initialize (μ΄κΈ°ν)μμ λ°μ¨ λ§μ΄λ€.
ν¨ν€μ§λ§ importνκ² λλ©΄ μμ μλ λͺ¨λλ€μ
ν¨κ» import λμ§ μλλ€. μ΄λ₯Ό ν¨κ» κ°μ Έμ€κΈ° μν΄μ
__init__.py μ΄ νμνλ€.
__init__.py
from shapes import area, volume
__init__ νμΌμ importλλ λͺ¨λλ€μ
ν¨ν€μ§ μμλ import λλ€κ³ μκ°νλ©΄ λλ€.
μ΄ __init__ νμΌκ³Ό ν¨κ» 첫λ²μ§Έ μ½λλ₯Ό λ€μ λλ €λ³΄λ©΄
μ€λ₯(AttributeError)κ° λ°μνμ§ μκ³ μ½λκ° μ μμ μΌλ‘ μ€νλλ€.
κ·Έλ λ€λ©΄ κ³Όμ° μ΄ __init__.py λ 무μμΌκΉ?
μ΄λ λ°λ‘ __init__ νμΌμ λ΄κ³ μλ ν΄λλ
Python ν¨ν€μ§ μμ μλ €μ£Όλ μν μ νλ€.
νμ΄μ¬ 3.3 ver. μ΄μ μλ __init__ νμΌμ΄ νμμλ€κ³ νλ€.
3.3 ver. μ΄νλΆν°λ νμλ μλμ§λ§
νμ΄μ¬ νμ λ²μ Όκ³Όμ νΈνμ±, κ·Έλ¦¬κ³ ν¨ν€μ§μ λͺ
νμ±μ μν΄
ν¨ν€μ§μ __init__ νμΌμ λ§λλ κ±Έ κΆμ₯νλ€κ³ νλ€ :-)
'"곡λΆ" ππππππ > ππ¦π‘βππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Python] CodeUp κΈ°μ΄ 100μ Clear (β’Μα΄β’Μ)Ω ΜΜ (4) | 2021.12.01 |
---|---|
[Python] youtube-dl ν¨ν€μ§ μ¬μ©ν΄μ Youtube μμ λ€μ΄λ°κΈ° (0) | 2021.10.29 |
[Python] PyPI(Python Package Index) μμ보기 (0) | 2021.10.27 |
[Python] λͺ¨λ(Module)μ΄λ? / μ μ©ν Standard Modules (2) | 2021.09.03 |
[Python] νλ‘κ·Έλλ° κΈ°μ΄ in Python μλ£ (0) | 2021.07.01 |
λκΈ