πŸ” Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ свои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° Python, слСдуйтС этим шагам:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ".py" ΠΈ Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ с ΠΈΠΌΠ΅Π½Π΅ΠΌ вашСго модуля.
  2. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.
  3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅.
  4. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» модуля.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


# Мой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

def ΠΏΡ€ΠΈΠ²Π΅Ρ‚():
    print("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!")

число_ΠΏΠΈ = 3.14159
    

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:


import имя_модуля

имя_модуля.ΠΏΡ€ΠΈΠ²Π΅Ρ‚()
print(имя_модуля.число_ΠΏΠΈ)
    

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ свои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python

Python - это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΉ язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт мноТСство встроСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Однако, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для выполнСния спСцифичСских Π·Π°Π΄Π°Ρ‡. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python.

Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° модуля

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любоС имя для вашСго модуля, Π½ΠΎ рСкомСндуСтся Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ".py". НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» "mymodule.py".

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° модуля Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны для использования Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….


# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° модуля "mymodule.py"

def greeting(name):
    print("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, " + name + "!")

class Person:
    def __init__(self, name):
        self.name = name
    
    def say_hello(self):
        print("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚ " + self.name + "!")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "greeting", которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ имя Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ привСтствиС. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ класс "Person", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ конструктор ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ "say_hello", выводящий привСтствиС с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π¨Π°Π³ 2: Π˜ΠΌΠΏΠΎΡ€Ρ‚ модуля

ПослС создания модуля Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для использования Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, классов ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "mymodule" ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ классы:


import mymodule

mymodule.greeting("АлСксСй")

person = mymodule.Person("Π•Π»Π΅Π½Π°")
person.say_hello()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "mymodule" ΠΈ Π²Ρ‹Π·Π²Π°Π»ΠΈ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "greeting" с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ "АлСксСй". Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ создали экзСмпляр класса "Person" с ΠΈΠΌΠ΅Π½Π΅ΠΌ "Π•Π»Π΅Π½Π°" ΠΈ Π²Ρ‹Π·Π²Π°Π»ΠΈ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ "say_hello".

Шаг 3: ИспользованиС псСвдонимов

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с использованиСм псСвдонима, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ имя ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ классов.


import mymodule as mm

mm.greeting("АлСксСй")

person = mm.Person("Π•Π»Π΅Π½Π°")
person.say_hello()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ "mymodule" с псСвдонимом "mm" ΠΈ Π²Ρ‹Π·Π²Π°Π»ΠΈ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "greeting" ΠΈ класс "Person" с использованиСм псСвдонима.

Π¨Π°Π³ 4: Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… элСмСнтов

Часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ классы ΠΈΠ· модуля, Π° Π½Π΅ вСсь ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Для этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.


from mymodule import greeting, Person

greeting("АлСксСй")

person = Person("Π•Π»Π΅Π½Π°")
person.say_hello()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "greeting" ΠΈ класс "Person" ΠΈΠ· модуля "mymodule". Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти элСмСнты Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π±Π΅Π· указания ΠΈΠΌΠ΅Π½ΠΈ модуля.

Π¨Π°Π³ 5: ИспользованиС модуля Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅

Если ваш ΠΌΠΎΠ΄ΡƒΠ»ΡŒ находится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ΠΏΡ€ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова "from" ΠΈ указания ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°.


from folder.mymodule import greeting

greeting("АлСксСй")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "greeting" ΠΈΠ· модуля "mymodule", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΏΠ°ΠΏΠΊΠ΅ "folder".

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ свои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python. Боздавая собствСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ вашСго ΠΊΠΎΠ΄Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ структуру ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ для раздСлСния ΠΊΠΎΠ΄Π° Π½Π° логичСскиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

Π£Π΄Π°Ρ‡ΠΈ Π² вашСм ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ программирования Π½Π° Python!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π˜ΠΌΠΏΠΎΡ€Ρ‚ собствСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Python. Import modules. Атрибут модуля __name__ ΠΈ __main__

Python - Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСго модуля

Python с нуля. Π£Ρ€ΠΎΠΊ 8 | ΠœΠΎΠ΄ΡƒΠ»ΠΈ

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ os walk Π² Python? 🐍

πŸ”Ž Как ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΈΡ‚ΠΎΠ½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”Ž ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠΈΡ‚ΠΎΠ½ Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ„Π°ΠΉΠ»? Как Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ? πŸ“‚

πŸ” Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python

πŸ” Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ πŸ–₯️

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ элСмСнта массива Python? πŸ§πŸ”Ž

Как пСрСвСсти число ΠΈΠ· дСсятичной систСмы Π² Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅? πŸ”„πŸ”’