πŸ“„ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

πŸ“„ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

@pythonamazing



ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π˜Ρ‚Π°ΠΊ, Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π° Python называСтся ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ. Имя модуля соотвСтствуСт ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π°, поэтому Ρ„Π°ΠΉΠ»Ρ‹ Π² Python принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² стилС "snake_case" (ΠΎΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ ΠΈΡ€ΠΎΠ½ΠΈΡŽ: Python β€” ΠΏΠΈΡ‚ΠΎΠ½ β€” змСя β€” snake β€” snake_case). Одни ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС Π΄Ρ€ΡƒΠ³ΠΈΡ…, Ссли ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ эти Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции import.

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, Π² Python ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами:

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ опрСдСлСния ΠΈΠ· модуля

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всё содСрТимоС модуля сразу

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ модуля

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ способа β€” ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ модуля Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Π“Π»Π°Π²Π½ΠΎΠ΅ удобство упоминания модуля ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ: глядя Π½Π° ΠΊΠΎΠ΄, ΠΌΡ‹ сразу Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ пСрСмСнная ΠΈΠ»ΠΈ вызываСмая функция β€” это Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ модуля.

Бинтаксис ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°: import <имя_модуля (Π±Π΅Π· суффикса ".py")>

Всё просто: послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова import ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ имя модуля (Ρ„Π°ΠΉΠ»Π°). Но ΠΏΡ€ΠΈ этом суффикс .py Π² ΠΈΠΌΠ΅Π½ΠΈ Π½Π°Π΄ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, для модуля с ΠΈΠΌΠ΅Π½Π΅ΠΌ my_module.py Π² инструкции ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° достаточно ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ my_module, Π° ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π²ΠΈΠ΄ инструкции Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ: import my_module.

Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ (Ρ„Π°ΠΉΠ»Π΅) с ΠΈΠΌΠ΅Π½Π΅ΠΌ greeting.py ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ say_hi ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ name:

# file: greeting.py

def say_hi():

print('Hi!')


name = 'Bob'

А Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ main.py сдСлаСм ΠΈΠΌΠΏΠΎΡ€Ρ‚ содСрТимого модуля greeting.py:

# file: main.py

import greeting # Π·Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ".py" Π½Π΅ указываСтся!


print(greeting.name) # => Bob

greeting.say_hi() # => Hi!

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ модуля Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ доступным ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ β€” Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это greeting. К содСрТимому ΠΆΠ΅ модуля ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ, ΠΊΠ°ΠΊ говорят, "Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ". ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ (greeting.name), Ρ‚Π°ΠΊ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля (greeting.say_hi()).

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ

Бинтаксис ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°: from <имя_модуля (Π±Π΅Π· суффикса ".py")> import <список ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ>.

Иногда ΠΈΠ· всСго модуля Π½ΡƒΠΆΠ½Π° ΠΏΠ°Ρ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° имя модуля слишком Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·. Π—Π΄Π΅ΡΡŒ Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования инструкции import:

# file: main.py

from greeting import say_hi, name

print(name) # ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

say_hi() # Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

Π—Π΄Π΅ΡΡŒ послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова from ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя модуля, Π° Π·Π°Ρ‚Π΅ΠΌ послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова import β€” ΠΈΠΌΠ΅Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈΠ· этого модуля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π² дальнСйшСм Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ (Π° Π½Π΅ "Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ").

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ импортирования модуля ("ΠΈΠΌΠΏΠΎΡ€Ρ‚ всСго содСрТимого") ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ³Π»ΡƒΠ±ΠΈΠΌ наши познания Π² этой Ρ‚Π΅ΠΌΠ΅.

Report Page