π Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ Π² ΠΏΠΈΡΠΎΠ½Π΅? - ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ
ΠΠ°ΠΊΠ΅Ρ Π² Python β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π³ΡΡΠΏΠΏΡ.
ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠΉ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°
my_package/
__init__.py # Π€Π°ΠΉΠ»-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΏΠ°ΠΊΠ΅ΡΠ°
module1.py # ΠΠΎΠ΄ΡΠ»Ρ 1
module2.py # ΠΠΎΠ΄ΡΠ»Ρ 2
module3.py # ΠΠΎΠ΄ΡΠ»Ρ 3
...
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ°ΠΉΠ»-ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ __init__.py ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Python ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ.
Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ 1, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
from my_package.module1 import my_function
my_function()
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Π΄Π»Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ Π² Python?
ΠΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡ Π² ΠΌΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Python, Π²Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΡΠ΅ΡΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ "ΠΏΠ°ΠΊΠ΅Ρ". ΠΠΎ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° Python? ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·ΠΎΠ±Π΅ΡΠ΅ΠΌΡΡ.
Π Python, ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΠΌΠ΅ΡΡΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π£ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΠ°ΠΊΠ΅Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠΎΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠ½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ __init__.py. ΠΡΠΎΡ ΡΠ°ΠΉΠ» ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Python, ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°:
mypackage/
βββ __init__.py
βββ module1.py
βββ module2.py
ΠΠΌΠΏΠΎΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ:
- ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ:
- ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ°:
- ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡ ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ:
import mypackage
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌ Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ mypackage.module1.function()
ΠΈΠ»ΠΈ mypackage.module2.ClassName()
.
import mypackage.module1
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ module1.function()
ΠΈΠ»ΠΈ module1.ClassName()
.
from mypackage.module2 import ClassName
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: ClassName()
.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ mypackage, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ math_utils. Π ΡΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ multiply, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π΄Π²Π° ΡΠΈΡΠ»Π°.
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» main.py ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π½Π°Ρ ΠΏΠ°ΠΊΠ΅Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ:
import mypackage.math_utils
result = mypackage.math_utils.multiply(5, 3)
print(result) # ΠΡΠ²Π΅Π΄Π΅Ρ: 15
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ mypackage ΠΈ Π²ΡΠ·Π²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ multiply ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ math_utils Π΄Π»Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» 5 ΠΈ 3. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π²Π½ΡΠΉ 15, Π±ΡΠ» Π²ΡΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΊΡΠ°Π½.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ Π² Python ΠΈ ΠΊΠ°ΠΊ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ°ΠΊΠ΅ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ Π²Π°ΠΌ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄, Π΄Π΅Π»Π°Ρ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² Python!