Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python — it-black.ru

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Python — it-black.ru ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому

БСгодня я расскаТу Π²Π°ΠΌ ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… возмоТностях Π² Python. Π’Π΅Π΄ΡŒ с самого Π½Π°Ρ‡Π°Π»Π° Python проСктировался ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) β€” ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ° программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ основными концСпциями ΡΠ²Π»ΡΡŽΡ‚ΡΡ понятия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ классов.

Класс β€” Ρ‚ΠΈΠΏ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ устройство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠžΠ±ΡŠΠ΅ΠΊΡ‚ β€” это экзСмпляр класса. Класс ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠΎΠΌ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Python соотвСтствуСт ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования. Π’ Python всё являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ β€” ΠΈ строки, ΠΈ списки, ΠΈ словари, ΠΈ всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅.

ИспользованиС классов Π΄Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго прСимущСства абстрактного ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

1. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ: Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘Π»ΠΎΠ²ΠΎ Β«ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΒ» ΠΈΠΌΠ΅Π΅Ρ‚ Π³Ρ€Π΅Ρ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹Β».

ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ функция count(), Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ дСйствиС для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ΠΎΠ²: β€˜abc’.count(β€˜a’) ΠΈ [1, 2, β€˜a’].count(β€˜a’). ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ плюс ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΡ‡Π΅Π½ ΠΏΡ€ΠΈ слоТСнии чисСл ΠΈ ΠΏΡ€ΠΈ слоТСнии строк.

2. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ: ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ подробности Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΎΡ‚ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΈΡ€Π°. Π­Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ основной ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ абстракции. Он основан Π½Π° использовании Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ класса.

Атрибуты ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ состояния Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ°Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, вслСдствиС Ρ‡Π΅Π³ΠΎ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ состояния β€” state.

3. НаслСдованиС: ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ спСциализированныС классы Π½Π° основС Π±Π°Π·ΠΎΠ²Ρ‹Ρ…. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ написания ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

4. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ составным ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ дСйствий.

  1. ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ языка с использованиСм понятий, дСйствий, ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ….
  2. На основС понятий Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ классы.
  3. На основС дСйствий ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.
  4. Π Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ приступим ΠΊ написанию своих классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Python. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ собствСнный класс ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:


# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания класса ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:
class Cat(object):
  """ Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ кошка """
  def talk(self):
    print("ΠœΡΡƒ")

Bagira = Cat()
Bagira.talk()
input()

# Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚: ΠœΡΡƒ

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΌΡ‹ объявили класс Cat. Для создания класса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ слуТСбноС слово Β«classΒ». Имя класса начинаСтся с большой Π±ΡƒΠΊΠ²Ρ‹.

Наш класс Π±ΡƒΠ΄Π΅Ρ‚ создан с ΠΎΠΏΠΎΡ€ΠΎΠΉ Π½Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ встроСнный Ρ‚ΠΈΠΏ object, ΠΏΡ€ΠΎΡ‰Π΅ говоря, ΠΌΡ‹ наслСдуСм наш класс ΠΎΡ‚ object.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° «»» Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ кошка «»» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ класс.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ объявляСм ΠΌΠ΅Ρ‚ΠΎΠ΄:


def talk(self):
    print("ΠœΡΡƒ")

ΠœΠ΅Ρ‚ΠΎΠ΄ talk() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку Β«ΠœΡΡƒΒ». Π£ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° talk() Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ self, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Bagira класса Cat() ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ talk():


Bagira = Cat()
Bagira.talk()

Π‘Π½Π°Ρ‡Π°Π»Π° создаСтся пСрСмСнная Bagira, Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ точСчная нотация для Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° talk(). ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° talk() ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ строку Β«ΠœΡΡƒΒ».

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


class Cat(object):
  """ Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ кошка """
  def __init__(self):
    print("Родилась новая кошка!")
  def talk(self):
    print("ΠœΡΡƒ")
cat1 = Cat()
cat2 = Cat()
cat1. talk()
cat2.talk()
input()

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ называСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, поэтому имя Ρƒ Π½Π΅Π³ΠΎ спСцифичСскоС β€” __init()__. Имя конструктора нСльзя ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ.

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса Cat. ΠŸΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ сообщСниС ΠΎ Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ кошки. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ talk() ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Атрибуты класса

Атрибуты класса Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Π²ΠΈΠ΄ΠΎΠ²:

  1. Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…;
  2. Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Атрибуты класса β€” это ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ всСми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, созданными Π½Π° основС Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса.

Атрибуты ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ свойства ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ссли Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ИспользованиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°:


class Cat(object):
  """ Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ кошка """
  def __init__(self, name):
    print("Родилась новая кошка!")
    self. name = name
  def talk(self):
    print(self.name, ": ΠœΡΡƒ")
    
cat1 = Cat("Π‘Π°Π³ΠΈΡ€Π°")
cat2 = Cat("Василий")
cat1.talk
cat2.talk

input()

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ name Π½Π°ΡˆΠ΅ΠΌΡƒ конструктору. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π²Π°Ρ‚ΡŒ Π½Π°ΡˆΠΈΡ… кошСк.

Π”Π°Π»Π΅Π΅ ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ (Π² конструкторС) строку ΠΎ Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ кошки, Π° Π²ΠΎΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π° print() строка ΠΊΠ°ΠΊ Ρ€Π°Π· создаСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ name ΠΈ присваиваСт Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° name.

Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ talk(). Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ имя кошки, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° self.name. К Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ:


print(cat1.name)

# Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚: Π‘Π°Π³ΠΈΡ€Π°

АргумСнт self β€” это ссылка Π½Π° создаваСмый Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ self автоматичСски становится ссылкой Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ self ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, ΠΊ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ.

Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ (public). ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ класса, Π° ΠΊ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ класса.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ (private) ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса β€” Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ….

К ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π’ Python Π΄Π²Π° Π·Π½Π°ΠΊΠ° подчСркивания ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


def __init__(self, name):
   print("Родилась новая кошка!")
   self.name = name
   Cat.total += 1
   self.__w = 1

Атрибут __w являСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ. ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ:


def __private_method(self):
   print("Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄")

Если Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для слуТСбного использования ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сбою, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΅Π³ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса β€” Ρ‚Π°ΠΊ Π²Ρ‹ смоТСтС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс измСнСния значСния.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступом ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ

Для управлСния доступом ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ свойства β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ косвСнный доступ.

Для создания свойства Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ @property.

Π‘ΠΎΠ·Π΄Π°Π² свойство, ΠΌΡ‹ ΠΏΡ€ΠΈΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ доступным для чтСния. Но с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойств ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ доступным Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π½ΠΎ ΠΈ для записи.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΡƒΡ€ΠΎΠΊΡƒ:



ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ кошка»

Для закрСплСния тСорСтичСских Π·Π½Π°Π½ΠΈΠΉ Π² области ООП создадим Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Β«Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ кошка». Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΡˆΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΈ Π²Π·Π²Π΅ΡΠΈΡ‚ΡŒ. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:


class Cat(object):
    """ Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ кошка """
    total = 0
    @staticmethod
    def count():
        print("ВсСго кошСк: ", Cat.total)
    
    def __init__(self):
        print("Родилась новая кошка!")
        self.name = input("Как ΠΌΡ‹ Π΅Ρ‘ Π½Π°Π·ΠΎΠ²Ρ‘ΠΌ? ")
        Cat.total += 1
        self.__w = 300
        self.hunger = 1
        
    def __str__(self):
        res = "ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Cat\n name: " + self.name + "\nBec: " + str(self.__w)
        return res
        
    @property
    def weight(self):
        return self.__w
    
    def talk(self):
        print(self.name, ": ΠœΡΡƒ")
    
    def eat(self):
        if self.hunger == 5:
            print("Кошка нС голодная")
        else:
            self.hunger += 1
            self.
__w += 30 print("ΠœΡƒΡ€!") def play(self): self.talk() self.__w -= 5 if self.hunger > 0: self.hunger -= 1 else: self.hunger = 1 def main(): bagira = Cat() choice = None while choice != "0": print \ (""" Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ? 0 - Π’Ρ‹ΠΉΡ‚ΠΈ 1 - ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ с кошкой 2 - ΠŸΠΎΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ 3 - ΠŸΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ 4 - Π’Π·Π²Π΅ΡΠΈΡ‚ΡŒ """) choice = input(">>: ") print() # exit if choice == "0": print("Пока.") # ΠΏΠΎΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ elif choice == "1": bagira.talk() # ΠΏΠΎΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ elif choice == "2": bagira.eat() # ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ elif choice == "3": bagira. play() elif choice == "4": print("ВСс: ", bagira.weight, " Π³Ρ€. ") # Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ else: print("\nΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄!") main() input()

Π”Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ @staticmethod β€” это просто функция Π²Π½ΡƒΡ‚Ρ€ΠΈ класса. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°ΠΊ с ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ класса Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π· создания экзСмпляра класса. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это примСняСтся Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ функция, которая, ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ, ΠΈΠΌΠ΅Π΅Ρ‚ связь с классом.

ΠŸΡ€ΠΈ Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ кошки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ даСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ имя кошки. Π’Π°ΠΊΠΆΠ΅ устанавливаСтся Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ вСс Π² 300 Π³Ρ€Π°ΠΌΠΌ ΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π³ΠΎΠ»ΠΎΠ΄Π° 1, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ кошка Π³ΠΎΠ»ΠΎΠ΄Π½Π°.

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π³ΠΎΠ»ΠΎΠ΄Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ΡΡ. Когда ΠΎΠ½ достигаСт 5, кошка считаСтся Π½Π΅ Π³ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ³Ρ€Π΅ с ΠΏΠΈΡ‚ΠΎΠΌΡ†Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π³ΠΎΠ»ΠΎΠ΄Π° пониТаСтся Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ с кошкой ΠΏΠΎΠΈΠ³Ρ€Π°Π»ΠΈ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠΎΡ€ΠΌΠΈΡ‚ΡŒ.

ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ вСс кошки увСличиваСтся Π½Π° 30 Π³Ρ€Π°ΠΌΠΌΠΎΠ². ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ³Ρ€Π΅ с кошкой ΠΎΠ½Π° тСряСт 5 Π³Ρ€Π°ΠΌΠΌ вСса.

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:



Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ созданию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:



Facebook

Twitter

  • 2 Comments

Π“Ρ€ΡƒΠΏΠΏΠ° Π² VK

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ?

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΎΠ± этом, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ тСкст с ошибкой ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter, Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹!

Π‘Π²Π΅ΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Облако ΠΌΠ΅Ρ‚ΠΎΠΊ
Instagram Vk Youtube Telegram Odnoklassniki

ПолСзно Π·Π½Π°Ρ‚ΡŒ

Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ

Авторы

ΠšΡƒΡ€Ρ Python.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π±ΡƒΡ€Π³Π΅ Код: ITCloud-P-OOA Python — ΠΌΠΎΡ‰Π½Ρ‹ΠΉ высокоуровнСвый язык программирования, идСально подходящий для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ сцСнариСв. Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ Π³ΠΈΠ³Π°Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ Google, Intel, Cisco ΠΈ Hewlett-Packard, Π½Π° Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ популярныС ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ YouTube, Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β», DropBox. Python – язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ вострСбован Π΅Ρ‰Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ!

На курсС Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ элСмСнтами языка Python. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ для изучСния проСктирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎΒ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ° Π½Π° Π±Π°Π·Π΅ Qt/Python ΠΈ Π²Π΅Π±-программирования Π½Π° Π±Π°Π·Π΅ Python/Django.

Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ курса

33 900 Ρ€ΡƒΠ±

Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ

Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ:

  • Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ прилоТСния Π½Π° языкС PythonΒ 
  • Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° языкС PythonΒ 
  • ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ языка Python

Аудитория:

Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹-программисты

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ курса

1. ΠšΠ»Π°ΡΡΡ‹ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΡŽ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП)
Класс ΠΈ экзСмпляр класса.
Π”Π°Π½Π½Ρ‹Π΅ экзСмпляра, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ экзСмпляра ΠΈ свойства экзСмпляра
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнного класса
Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ
Атрибуты класса
Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° собствСнных классов. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ свойств классов. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

2.НаслСдованиС
Роль наслСдования Π² ООП, понятиС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ наслСдования
ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΡƒΡ‚ΠΈΠ½ΠΎΠΉ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ
ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса
Ѐункция isinstance ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса
ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ экзСмпляров Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса.
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… классов

3.АбстрактныС классы ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ
ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ DRY ΠΈ WET
ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ абстракции
Знакомство с абстрактными классами Python
ПодмСна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ классС.
ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹Π΅ классы
ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹.
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ collections ΠΈ collections.abc
ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

4.Алгоритмы сортировки ΠΈ поиска Π² Python
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², O(N) нотация. Π’ΠΈΠΏΡ‹ сортировки.
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ сортировки ΠΈ поиска
Π­Ρ‚Π°ΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² поиска
ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: РСализация Π½Π° Python Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π΅ΡˆΠ°Ρ‚Π΅Π»Ρ Π‘ΡƒΠ΄ΠΎΠΊΡƒ.
РСшСниС 100 ΡΠ»ΠΎΠΆΠ½Π΅ΠΉΡˆΠΈΡ… Π‘ΡƒΠ΄ΠΎΠΊΡƒ

5.Алгоритмы поиска Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π³Ρ€Π°Ρ„ΠΎΠ², основныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π° Π³Ρ€Π°Ρ„Π°Ρ…
ВСория Π³Ρ€Π°Ρ„ΠΎΠ². ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΎΠ² Π² Python
Поиск Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ
Поиск Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ
Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°: Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ Π³Ρ€Π°Ρ„Π° Π½Π° Python
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: НахоТдСниС ΠΊΡ€Π°Ρ‚Ρ‡Π°ΠΉΡˆΠ΅Π³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΏΡ€ΠΎΠ΅Π·Π΄Π° Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π³Ρ€Π°Ρ„Π° станций московского ΠΌΠ΅Ρ‚Ρ€ΠΎΠΏΠΎΠ»ΠΈΡ‚Π΅Π½Π°

6. Записи ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ SQLite
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° структуры Π΄Π°Π½Π½Ρ‹Ρ…
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….
Бписок ΠΈ запись. Записи ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционном соотвСтствии
Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π‘Π£Π‘Π” Sqlite
ИспользованиС Π‘Π£Π‘Π” Sqlite для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„Π° московского ΠΌΠ΅Ρ‚Ρ€ΠΎΠΏΠΎΠ»ΠΈΡ‚Π΅Π½Π°
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π‘Π£Π‘Π” Sqlite

7. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΎ структурС Π΄Π°Π½Π½Ρ‹Ρ…
ИспользованиС структуры для хранСния Π΄Π°Π½Π½Ρ‹Ρ…
Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½Π΅ Python
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ восстановлСниС Π΄Π°Π½Π½Ρ‹Ρ….
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ pickle ΠΈ shelve
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π³Ρ€Π°Ρ„Π° ΠΈ использованиСм модуля pickle

8. Π Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ JSON Π² Python
Знакомство с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ JSON. Π Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ JSON Π² Python.
БСриализация ΠΈ дСсСриализация Ρ„Π°ΠΉΠ»ΠΎΠ² JSON Π² Python.
Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½Π΅ Python
Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ» JSON
ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: БоставлСниС Π³Ρ€Π°Ρ„Π° московского ΠΌΠ΅Ρ‚Ρ€ΠΎΠΏΠΎΠ»ΠΈΡ‚Π΅Π½Π° Π½Π° основС Ρ„Π°ΠΉΠ»Π° JSON

Π”Ρ€ΡƒΠ³ΠΈΠ΅ курсы Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ

  • Oracle Application Express Workshop I
  • Java SE: Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ
  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с использованиСм EJB 3
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ReactJS
  • ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° Python для сСтСвых ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²
  • Π¨Π°Π±Π»ΠΎΠ½Ρ‹ проСктирования (GoF). РСдакция для Java
  • ΠžΠ±Π·ΠΎΡ€Π½ΠΎ-практичСский курс ΠΏΠΎ Java тСхнологиям для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Oracle 10,11 ΠΈ Weblogic сСрвСра
  • Oracle Application Express Workshop II
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности HTML5
  • ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° C++

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² Python (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ)

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ΅, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ?

Π‘ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° β€” условиС появлСния Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ….

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ β€” ΠΎΡ‡Π΅Π½ΡŒ ваТная концСпция Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π­Ρ‚ΠΎ относится ΠΊ использованию сущности ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°) для прСдставлСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… сцСнариях.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ слоТСния

ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Python. Но Ρƒ Π½Π΅Π³ΠΎ Π½Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ использования.

Для цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния арифмСтичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния.

 число1 = 1
число2 = 2
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (число1+число2)
 

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, привСдСнная Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ 3 .


Аналогично, для строковых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… 9ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ 0015 + ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ.

 стр1 = "ΠŸΠΈΡ‚ΠΎΠ½"
str2 = "ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅"
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (стр1+" "+стр2)
 

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Python Programming .

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ + использовался для выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· самых простых проявлСний ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π² Python.


ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Python

Π’ Python Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, совмСстимыС с нСсколькими Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Одной ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ являСтся функция len() . Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Π°Ρ функция len()

 print(len("Programiz"))
print(len(["Python", "Java", "C"]))
print(len({"Имя": "Π”ΠΆΠΎΠ½", "АдрСс": "НСпал"}))
 

Π’Ρ‹Ρ…ΠΎΠ΄

  9
3
2
  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ строка, список, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, Π½Π°Π±ΠΎΡ€ ΠΈ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с len() функция. Однако ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len() Π² Python

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ классов Π² Python

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ β€” ΠΎΡ‡Π΅Π½ΡŒ ваТная концСпция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± ООП Π² Python, посСтитС: Python Object-Oriented Programming

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

ПозТС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², игнорируя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… класса

 class Cat:
    def __init__(я, имя, возраст):
        self.name = имя
        возраст = возраст
    информация ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ (я):
        print(f"Π― кошка. МСня Π·ΠΎΠ²ΡƒΡ‚ {self.name}. МнС {self.age} Π»Π΅Ρ‚.")
    ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ make_sound (я):
        Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ("ΠœΡΡƒ")
класс Бобака:
    def __init__(я, имя, возраст):
        self.name = имя
        возраст = возраст
    информация ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ (я):
        print(f"Π― собака. МСня Π·ΠΎΠ²ΡƒΡ‚ {self.name}. МнС {self.age} Π»Π΅Ρ‚.")
    ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ make_sound (я):
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ("ΠšΠΎΡ€Π°")
cat1 = Кошка ("ΠšΠΈΡ‚Ρ‚ΠΈ", 2.5)
dog1 = Π‘ΠΎΠ±Π°ΠΊΠ°("ΠŸΡƒΡˆΠΈΡΡ‚Ρ‹ΠΉ", 4)
для ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ³ΠΎ Π² (cat1, dog1):
    ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅.make_sound()
    ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅.информация()
    ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅.make_sound()
 

Π’Ρ‹Ρ…ΠΎΠ΄

  ΠœΡΡƒ
Π― ΠΊΠΎΡ‚. МСня Π·ΠΎΠ²ΡƒΡ‚ ΠšΠΈΡ‚Ρ‚ΠΈ. МнС 2,5 Π³ΠΎΠ΄Π°.
мяу
Π›Π°ΡΡ‚ΡŒ
Π― собака. МСня Π·ΠΎΠ²ΡƒΡ‚ Π€Π»Π°Ρ„Ρ„ΠΈ. МнС 4 Π³ΠΎΠ΄Π°.
Π›Π°ΡΡ‚ΡŒ
  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создали Π΄Π²Π° класса Cat ΠΈ Dog . Они ΠΈΠΌΠ΅ΡŽΡ‚ ΡΡ…ΠΎΠΆΡƒΡŽ структуру ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² info() ΠΈ make_sound() .

Однако ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ создали ΠΎΠ±Ρ‰ΠΈΠΉ супСркласс ΠΈ Π½Π΅ связали классы ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π”Π°ΠΆΠ΅ Π² этом случаС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ эти Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ Π½Π΅ΠΌΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅ пСрСмСнная. Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ благодаря ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΡƒ.


ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΈ наслСдованиС

Как ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ классы Π² Python Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ соотвСтствовали Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌΡƒ классу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ извСстСн ΠΊΠ°ΠΊ ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ этим ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΎ ΠΆΠ΅ имя, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

 ΠΈΠ· math import pi
Π€ΠΎΡ€ΠΌΠ° класса:
    def __init__(я, имя):
        self. name = имя
    ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (я):
        ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ
    Π΄Π΅Ρ„ Ρ„Π°ΠΊΡ‚(я):
        return "Π― двумСрная Ρ„ΠΎΡ€ΠΌΠ°."
    Π·Π°Ρ‰ΠΈΡ‚Π° __str__(я):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сСбя.имя
Класс ΠšΠ²Π°Π΄Ρ€Π°Ρ‚ (Π€ΠΎΡ€ΠΌΠ°):
    def __init__(я, длина):
        super().__init__("ΠšΠ²Π°Π΄Ρ€Π°Ρ‚")
        собствСнная Π΄Π»ΠΈΠ½Π° = Π΄Π»ΠΈΠ½Π°
    ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (я):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ self.length**2
    Π΄Π΅Ρ„ Ρ„Π°ΠΊΡ‚(я):
        return "ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° Ρ€Π°Π²Π΅Π½ 90 градусов».
класс ΠšΡ€ΡƒΠ³ (Π€ΠΎΡ€ΠΌΠ°):
    def __init__(я, радиус):
        super().__init__("ΠšΡ€ΡƒΠ³")
        self.radius = радиус
    ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (я):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ pi*self.radius**2
Π° = ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ (4)
Π± = ΠΊΡ€ΡƒΠ³(7)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π±)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (b.fact())
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a.fact())
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π±. ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ())
 

Π’Ρ‹Ρ…ΠΎΠ΄

  ΠšΡ€ΡƒΠ³
Π― двухмСрная Ρ„ΠΎΡ€ΠΌΠ°.
Π£ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» Ρ€Π°Π²Π΅Π½ 90 градусов.
153.93804002589985
  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠ°ΠΊ __str__() , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… классах, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠ· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса.

Из-Π·Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python автоматичСски распознаСт, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ fact() для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° a (класс Square ) ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ классС.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ fact() для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° b Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ· класса Parent Shape .

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… классах Π² Python

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° , способ создания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, Π² Python Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python: ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

Π’ этом руководствС рассказываСтся ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (ООП) Π½Π° Python с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ. Π­Ρ‚ΠΎ пошаговоС руководство, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для людСй, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠΏΡ‹Ρ‚Π° программирования. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ популярно ΠΈ доступно Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, ΠΏΠΎΠΌΠΈΠΌΠΎ Python, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Java, C++, PHP.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?

Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (ООП) Ρƒ вас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² своСм ΠΊΠΎΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅, Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ‚ ΠΈ Ρ‚. Π΄. ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌΠΈ словами, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ характСристиками ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ запуск, остановка, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ автомобиля. И характСристики это Ρ†Π²Π΅Ρ‚ автомобиля, ΠΏΡ€ΠΎΠ±Π΅Π³, максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π³ΠΎΠ΄ выпуска ΠΈ Ρ‚.Π΄.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ . Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π² ΠΌΠΈΡ€Π΅ ООП. Π₯арактСристики Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (свойств) . ВСхничСски Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ β€” это ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ значСния, связанныС с состояниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ β€” это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’ Python всС являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, Ρ†Π΅Π»Ρ‹Π΅ числа, числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, списки, словари, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ‚. Π΄. β€” всС это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π»ΠΈ спСциалисты ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?

Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых распространСнных вопросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρƒ ΡƒΡ‡Π΅Π½Ρ‹Ρ…, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ООП. Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ манипулирования Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ машинного обучСния с использованиСм Python, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ рСкомСндуСтся ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pandas, numpy, matplotlib, scikit-learn. Π­Ρ‚ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±Ρ‹Π»ΠΈ написаны ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Python для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ упрощСния Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡, связанных с Π½Π°ΡƒΠΊΠΎΠΉ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. ВсС эти Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ зависят ΠΎΡ‚ ООП ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ. НапримСр, Π²Ρ‹ строитС Ρ€Π΅Π³Ρ€Π΅ΡΡΠΈΠΎΠ½Π½ΡƒΡŽ модСль, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ scikit-learn. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ свою модСль ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Π³ΠΎΠ½ΠΊΠΈ. НС зная основ ООП, Π²Ρ‹ Π½Π΅ смоТСтС ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’ python Π² основном сущСствуСт 3 стиля программирования: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΎΡ‰Π΅ говоря, Π΅ΡΡ‚ΡŒ 3 Ρ€Π°Π·Π½Ρ‹Ρ… способа Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² Python. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярно срСди спСциалистов ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ прСимущСство Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ООП ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с большими ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ, Π° Ρ€Π΅ΠΌΠΎΠ½Ρ‚ΠΎΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π°.

Π’Ρ‹Π²ΠΎΠ΄: Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ основы ООП, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ стоит Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Если Π²Ρ‹ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Python ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Python, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ООП (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ!). Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ спСциалистов ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с концСпциями ООП ΠΈ всС Π΅Ρ‰Π΅ ΠΏΡ€Π΅ΡƒΡΠΏΠ΅Π²Π°ΡŽΡ‚ Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠžΡΠ½ΠΎΠ²Ρ‹: ООП Π² Python

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, связанныС с ООП Π² Python.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ класс

Класс β€” это Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ описаниС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса. НапримСр, Π΄ΠΈΠ·Π°ΠΉΠ½ автомобиля ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° β€” это класс. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· класса. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ° ΠΈΠ· конструкции автомобиля.


БущСствуСт мноТСство Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² классов, описанных Π½ΠΈΠΆΠ΅ β€”

  • Π Π΅Ρ†Π΅ΠΏΡ‚ ΠΎΠΌΠ»Π΅Ρ‚Π° β€” это класс. ΠžΠΌΠ»Π΅Ρ‚ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.
  • Π’Π»Π°Π΄Π΅Π»Π΅Ρ† банковского счСта β€” это класс. Атрибутами ΡΠ²Π»ΡΡŽΡ‚ΡΡ Имя, Ѐамилия, Π”Π°Ρ‚Π° роТдСния, ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ, АдрСс ΠΈ Ρ‚. Π΄. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Β«Π‘ΠΌΠ΅Π½Π° адрСса», Β«Π‘ΠΌΠ΅Π½Π° профСссии», Β«Π‘ΠΌΠ΅Π½Π° Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈΒ» ΠΈ Ρ‚. Π΄. Β«Π‘ΠΌΠ΅Π½Π° Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈΒ» ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ ΠΆΠ΅Π½Ρ‰ΠΈΠ½, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ послС замуТСства
  • Π‘ΠΎΠ±Π°ΠΊΠ° — это класс. Атрибуты: ΠŸΠΎΡ€ΠΎΠ΄Π°, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π½ΠΎΠ³, Π Π°Π·ΠΌΠ΅Ρ€, Возраст, Π¦Π²Π΅Ρ‚ ΠΈ Ρ‚. Π΄. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Едят, Бпят, Бидят, Π›Π°ΡŽΡ‚, Π‘Π΅Π³Π°ΡŽΡ‚ ΠΈ Ρ‚. Π΄.

Π’ python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово class . ΠœΠ΅Ρ‚ΠΎΠ΄ класса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом def . Она ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ класса ΠΈ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ класса. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° всСгда являСтся self ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° self .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ класс автомобиля

  • класс : Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ
  • Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ : Π³ΠΎΠ΄, ΠΌΠΈΠ»ΠΈ Π½Π° Π³Π°Π»Π»ΠΎΠ½ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
  • ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ : ускорСниС ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅
  • ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ : Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ1
класс автомобиля:
    
    # Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹
        year = 2016 # Π³ΠΎΠ΄ выпуска ΠΌΠΎΠ΄Π΅Π»ΠΈ автомобиля
        миль Π½Π° Π³Π°Π»Π»ΠΎΠ½ = 20 # ΠΏΡ€ΠΎΠ±Π΅Π³
        ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ = 100 # тСкущая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
        
    # ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹
        УскорСниС ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ (само):
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ. ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ + 20
        Π΄Π΅Ρ„ Ρ‚ΠΎΡ€ΠΌΠΎΠ·(сам):
            ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° автомобиля - 50
 
Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ1=Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ()
car1.ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ()
120
car1.Ρ‚ΠΎΡ€ΠΌΠΎΠ·()
50
Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ1.Π³ΠΎΠ΄
2016
машина1.миль на галлон
20
Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ1.ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ
100
 
Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ класса ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм класс с ΠΈΠΌΠ΅Π½Π΅ΠΌ company. Π—Π΄Π΅ΡΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΠ° ΠΈ количСство сотрудников, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ β€” Π΄ΠΎΡ…ΠΎΠ΄, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ° (Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для дСмонстрационных Ρ†Π΅Π»Π΅ΠΉ).

# Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ класс Company
класс Компания:
    
    # Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹
    имя = "Π‘Π°Π½ΠΊ XYZ"
    ΠΎΠ±ΠΎΡ€ΠΎΡ‚ = 5000
    Π΄ΠΎΡ…ΠΎΠ΄ = 1000
    количСство_сотрудников = 100
    
    # ΠΌΠ΅Ρ‚ΠΎΠ΄
    ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ (я):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Company.revenue/Company.no_of_employees
 

Атрибуты, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Ρ‹ Π±Π΅Π· создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

НазваниС компании
  Π’Ρ‹Ρ…ΠΎΠ΄ 
Β«XYZ Π‘Π°Π½ΠΊΒ»
Компания.ΠΎΠ±ΠΎΡ€ΠΎΡ‚
  Π’Ρ‹Ρ…ΠΎΠ΄ 
5000
Company.no_of_employees
  Π’Ρ‹Ρ…ΠΎΠ΄ 
100
Компания().ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ()
  Π’Ρ‹Ρ…ΠΎΠ΄ 
10,0
 

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΉ ΠΊΠ°ΠΊ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈΠ»ΠΈ свойства класса для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово __init__ для создания ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для конструктора. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ обсуТдали ΠΏΡ€ΠΈΠΌΠ΅Ρ€ автомобиля ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ конструкторС ΠΊΠ°ΠΊ ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°Π±Ρ€ΠΈΠΊΠ° построила ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ автомобиля ΠΈΠ· шаблона проСктирования класса. self прСдставляСт Ρ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ наслСдуСт эти свойства.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ экзСмплярами класса. Π‘Π»ΠΎΠ²Π° «экзСмпляр» ΠΈ Β«ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Β» взаимозамСняСмы. ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса называСтся экзСмпляр .

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ просим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ввСсти значСния. __init__ вызываСтся всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса.

классный Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ:
        def __init__(я,имя,фамилия):
            self.first = имя
            self.last = фамилия
ΠΌΠΎΠ΅ имя = Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ("Π”ΠΈΠΏΠ°Π½ΡˆΡƒ", "Π‘Ρ…Π°Π»Π»Π°")
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (ΠΌΠΎΠ΅ имя.послСднСС)
 
ΠœΡ‹ создали myname ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса person.
 ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° >>> вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ __init__ >>> ПовСдСниС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° __init__ выполняСтся 

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π—Π΄Π΅ΡΡŒ привСдСнная Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° основС ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² классС

.
класс Моя компания:
        
    # ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹
    def __init__(я, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π΄ΠΎΡ…ΠΎΠ΄, Ρ€Π°Π·ΠΌΠ΅Ρ€ сотрудников):
        self.name = Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
        собствСнный Π΄ΠΎΡ…ΠΎΠ΄ = Π΄ΠΎΡ…ΠΎΠ΄
        self.no_of_employees = количСство сотрудников
    ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ (я):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ self.revenue/self.no_of_employees
Моя компания('Π‘Π°Π½ΠΊ XYZ', 1000,100).ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ()
  Π’Ρ‹Ρ…ΠΎΠ΄ 
10,0
MyCompany('ABC Bank', 5000,200). productivity()
  Π’Ρ‹Ρ…ΠΎΠ΄ 
25,0
 

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса

Π‘Π°Π½ΠΊ = MyCompany('ABC Bank', 5000,200)
MyCompany.productivity(Π‘Π°Π½ΠΊ)
 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Атрибуты класса Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. БущСствуСт Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: ΠΎΠ΄Π½Π° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса, Π½ΠΎ Π²Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, Π° другая ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ __init__ .

ΠŸΡ€ΠΈ использовании ΠΌΠ΅Ρ‚ΠΎΠ΄Π° __int__ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π’ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π²Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², называСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ класса ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ этим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π² любом мСстС класса. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅.

класс Моя компания:
    #ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ класса
    рост = 0,1
            
    def __init__(я, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Π΄ΠΎΡ…ΠΎΠ΄, Ρ€Π°Π·ΠΌΠ΅Ρ€ сотрудников):
        #ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра
        self.name = Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
        собствСнный Π΄ΠΎΡ…ΠΎΠ΄ = Π΄ΠΎΡ…ΠΎΠ΄
        self. no_of_employees = количСство сотрудников
МояКомпания.рост
  0,1 
 

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄ΠΎΡ…ΠΎΠ΄Π° ΠΈΠ· класса MyCompany?

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ

Моя компания.Π΄ΠΎΡ…ΠΎΠ΄
 
AttributeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° «Моя компания» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Β«Π΄ΠΎΡ…ΠΎΠ΄Β»

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ

Π‘Π°Π½ΠΊ = МояКомпания('Π‘Π°Π½ΠΊ DBA',50000, 1000)
Π‘Π°Π½ΠΊ.Π΄ΠΎΡ…ΠΎΠ΄
 
50000

MyCompany.revenue Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊ Π½Π΅ΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ создан.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

Π’ python Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²: экзСмпляр, класс ΠΈ статичСский.

  • ЭкзСмпляр ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ self Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π˜Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Object ΠΈΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ . Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….
  • Класс ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ cls Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. cls относится ΠΊ классу. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ класса Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ @classmethod 9. Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ 0016 ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ класс ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ
  • БтатичСский Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ использованиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Π² послСднСй части этой ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π§Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ экзСмпляра ΠΈ класса?

ΠœΠ΅Ρ‚ΠΎΠ΄ экзСмпляра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойствам, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ экзСмпляра. ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойству класса, Π° Π½Π΅ ΠΊ свойству ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ экзСмпляра этого класса. Π”Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния стиля написания Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ экзСмпляра ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ self Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ cls Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм класс для cab . Вакси ΠΈ такси ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅. Атрибутами ΠΈΠ»ΠΈ свойствами ΠΊΠ°Π±ΠΈΠ½Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ имя водитСля, количСство ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°Π±ΠΈΠ½ΠΎΠΉ, мСсто посадки ΠΈ высадки, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅Π·Π΄Π° Π² ΠΊΠ°Π±ΠΈΠ½Π΅ ΠΈ количСство пассаТиров Π² ΠΊΠ°Π±ΠΈΠ½Π΅.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ создаСм 3 ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: rateperkm , noofcabs , avgnoofpassengers . ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄ экзСмпляра, Π° Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… β€” ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса.

  • Ρ€Π΅ΠΉΡ‚ΠΏΠ΅Ρ€ΠΊΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅Π·Π΄Π° Π½Π° такси Π·Π° ΠΊΠΌ, которая рассчитываСтся ΠΏΡƒΡ‚Π΅ΠΌ дСлСния ΠΎΠ±Ρ‰Π΅ΠΉ суммы счСта Π½Π° Π½ΠΎΠΌΠ΅Ρ€. ΠΊΠΌ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½ΠΎ ΠΊΠ°Π±ΠΈΠ½ΠΎΠΉ.
  • noofcabs Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΊΠ°Π±ΠΈΠ½. ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎΠ± агСнтствС такси, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚ мноТСством такси ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, сколько такси занято
  • .
  • avgnoofpassengers Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ срСднСС количСство пассаТиров, ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅. Для расчСта срСднСго значСния ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ всС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Π±ΠΈΠ½Ρ‹ ΠΈ количСство пассаТиров Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ°Π±ΠΈΠ½Π΅.
Кабина класса:
    
    #Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ
    количСство ΠΊΠ°Π±ΠΈΠ½ = 0
    количСство пассаТиров = 0
    def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,ΠΊΠΌ,мСста,ΠΎΠΏΠ»Π°Ρ‚Π°,пассаТиры):
        self.driver = Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
        Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π³ = ΠΊΠΌ
        self. places = мСста
        сСлф.Π±ΠΈΠ»Π» = ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ
        Cab.numberofcabs = Cab.numberofcabs + 1
        Cab.numpassengers = Cab.numpassengers + пассаТиры
    #Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π½Ρƒ такси Π·Π° ΠΊΠΌ
    def rateperkm(я):
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ self.bill/self.running
        
    #Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΊΠ°Π±ΠΈΠ½
    @классмСтод
    ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ noofcabs (cls):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ cls.numberofcabs
    #Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ срСднСС количСство пассаТиров Π² ΠΊΠ°Π±ΠΈΠ½Π΅
    @классмСтод
    ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ avgnoofpassengers (cls):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ (cls.numpassengers/cls.numberofcabs)
firstcab = Cab("РамСш", 80, ['Π”Π΅Π»ΠΈ', 'Нойда'], 2200, 3)
secondcab = Cab("Π‘ΡƒΡ€Π΅Ρˆ", 60, ['Π“ΡƒΡ€Π³Π°ΠΎΠ½', 'Нойда'], 1500, 1)
Thirdcab = Cab("Дэйв", 20, ['Π“ΡƒΡ€Π³Π°ΠΎΠ½', 'Нойда'], 680, 2)
firstcab.Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
  'РамСш'
 
Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ такси
  'Π‘ΡƒΡ€Π΅Ρˆ'
 
Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΊΠ°Π±.Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
  'Дэйв'
  
firstcab.rateperkm()
  27,5 
secondcab.rateperkm()
  25,0 
Thirdcab.rateperkm()
  34,0 
 
Кабина.noofcabs()
  3
 
Cab. avgnoofpassengers()
  2
  
Cab.avgnoofpassengers() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 2, Ρ‡Ρ‚ΠΎ вычисляСтся ΠΊΠ°ΠΊ (3 + 1 + 2)/3

БтатичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

БтатичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ популярным срСди всСх Ρ‚Ρ€Π΅Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² экзСмпляра ΠΈ класса, статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово (self, cls). Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ использованиС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½ΠΈ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ свойствам экзСмпляра (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°) класса, Π½ΠΈ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ класса. ЕдинствСнноС использованиС - Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ Π² основном ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для создания Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ слуТСбных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠΌΠ΅Π½ΠΈ водитСля (имя водитСля Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ мСньшС 32 символов) ΠΈΠ»ΠΈ сумма счСта Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ большС нуля (Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ). Π‘ΠΌ. ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½ΠΈΠΆΠ΅ для Ρ‚ΠΎΠΉ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Кабина класса:
    
    @статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄
    Π΄Π΅Ρ„ Π±ΠΈΠ»Π»ΠΈΠ½Π³Π° (ΠΎΠΏΠ»Π°Ρ‚Π°):
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ int (ΠΎΠΏΠ»Π°Ρ‚Π°)> 0
Cab. billvalidation(0,2)
  Π’Ρ‹Ρ…ΠΎΠ΄ 
Π›ΠžΠ–Π¬
 

НаслСдство

НаслСдованиС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ для класса Children , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ Π±Ρ‹Π» написан для класса Parent . НапримСр, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ класса транспортного срСдства ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с классами Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, автобусов ΠΈ Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊΠΎΠ². Имя водитСля, количСство колСс ΠΈ Ρ‚. Π΄. ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ для всСх классов. ВранспортноС срСдство Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса ΠΈ ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, автобус ΠΈ Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊ Π΄Π΅Ρ‚Π΅ΠΉ классов . Π’ ООО это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс наслСдуСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ повСдСния ΠΎΡ‚ своСго Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса.

  • Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс Vehicle ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ для Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ класса Vehicle . Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ класса cab. Он наслСдуСтся ΠΎΡ‚ транспортного срСдства.
класс ВранспортноС срСдство:
    def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья):
        self.driver = Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
        self.noofwheels = колСса
        self. noofseats = мСста
класс Кабина(ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ):
    ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ
cab_1 = Кабина («Бэнди», 4, 2)
ΠΊΠ°Π±ΠΈΠ½Π°_1.Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
  Π’Ρ‹Ρ…ΠΎΠ΄ 
'Бэнди'
 
  • Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ класса подкласса ВранспортноС срСдство
  • класс ВранспортноС срСдство:
        минимальная ставка = 50
        def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья):
            self.driver = Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
            self.noofwheels = колСса
            self.noofseats = мСста
    класс Кабина(ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ):
        минимальная ставка = 75
    ВранспортноС срСдство.минимальная ставка
      50 
    Минимальная ставка ΠΊΠ°Π±ΠΈΠ½Ρ‹
      75 
     
  • Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ класс с большим количСством ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‡Π΅ΠΌ Ρƒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса
  • Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° класса Cab ΠΈ Bus , Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ схоТих Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², Π½ΠΎ Π΅ΡΡ‚ΡŒ нСсколько ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… для Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΌΡ‹ создали Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс с ΠΈΠΌΠ΅Π½Π΅ΠΌ Vehicle , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΎΠ±Ρ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄.

    класс ВранспортноС срСдство:
        минимальная ставка = 50
        def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья,ΠΊΠΌ,счСт):
            self. driver = Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
            self.noofwheels = колСса
            self.noofseats = мСста
            Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π³ = ΠΊΠΌ
            сСлф.Π±ΠΈΠ»Π» = счСт
        
        def rateperkm(я):
            Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ self.bill/self.running
    класс Кабина(ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ):
        минимальная ставка = 75
        def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья,ΠΊΠΌ,счСт,Ρ‚ΠΈΠΏ ΠΊΠ°Π±ΠΈΠ½Ρ‹):
            Vehicle.__init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья,ΠΊΠΌ,счСт)
            self.category = Ρ‚ΠΈΠΏ такси
    Класс Автобус(ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ):
        минимальная ставка = 25
        def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья,ΠΊΠΌ,счСт,Ρ†Π²Π΅Ρ‚):
            Vehicle.__init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья,ΠΊΠΌ,счСт)
            self.color = Ρ†Π²Π΅Ρ‚
    cab_1 = Cab('Prateek', 4, 3, 50, 700, 'Π’Π½Π΅Π΄ΠΎΡ€ΠΎΠΆΠ½ΠΈΠΊ')
    cab_1.катСгория
    cab_1.rateperkm()
    bus_1 = Bus('Дэйв', 4, 10, 50, 400, 'Π·Π΅Π»Π΅Π½Ρ‹ΠΉ')
    bus_1.Ρ†Π²Π΅Ρ‚
    bus_1.rateperkm()
     
    ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Vehicle.__init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья,ΠΊΠΌ,счСт) Π½Π° super().__init__(Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья,ΠΊΠΌ,счСт) .
    super() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ссылки Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

    ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

    ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ ваТная концСпция, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ с Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ классами. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ Π² python примСняСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° .

    ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

    ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° позволяСт Π½Π°ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ классС с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ классС, Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ класса отличаСтся ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса.

    класс ВранспортноС срСдство:
        Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ΅ сообщСниС (я):
            print("ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса")
    класс Кабина(ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ):
        Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ΅ сообщСниС (я):
            print("ΠœΠ΅Ρ‚ΠΎΠ΄ класса Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ ΠΊΠ°Π±ΠΈΠ½Ρ‹")
    Класс Автобус(ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ):
        Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠ΅ сообщСниС (я):
            print("ΠœΠ΅Ρ‚ΠΎΠ΄ класса Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ ΡˆΠΈΠ½Ρ‹")
    Ρ… = ВранспортноС срСдство ()
    Ρ….сообщСниС()
      ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса 
    Ρƒ = ΠΊΠ°Π±ΠΈΠ½Π° ()
    Ρƒ.сообщСниС()
      ΠœΠ΅Ρ‚ΠΎΠ΄ класса Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ ΠΊΠ°Π±ΠΈΠ½Ρ‹ 
    Π³ = автобус ()
    z.сообщСниС()
      ΠœΠ΅Ρ‚ΠΎΠ΄ класса Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ ΡˆΠΈΠ½Ρ‹ 
     
    Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ классы ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса.

    ΠŸΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

    Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ со всСми Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

    Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ сцСнарии ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° (игнорируя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„Ρ€Π°Π·Ρ‹). Или Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ , Ρ„Ρ€Π°Π·ΠΎΠΉ .

    Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ класса:
        Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (я, Ρ„Ρ€Π°Π·Π° = Π½Π΅Ρ‚):
        
            Ссли Ρ„Ρ€Π°Π·Π° Π½Π΅ None:
                print('МоС сообщСниС - ' + Ρ„Ρ€Π°Π·Π°)
            Π΅Ρ‰Π΅:
                print('Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠΈΡ€ Python')
            
    # ΠžΠ±ΡŠΠ΅ΠΊΡ‚
    Ρ… = сообщСниС ()
        
    # Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
    Ρ….Π΄Π΅Ρ‚Π°Π»ΠΈ()
        
    # Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ
    x.details('Π–ΠΈΠ·Π½ΡŒ прСкрасна')
     

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ __str__?

    Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ прСдставлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

    класс ВранспортноС срСдство:
        def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья):
            self. driver = Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
            self.noofwheels = колСса
            self.noofseats = мСста
    veh_1 = ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ("ΠŸΠ΅ΡΡ‡Π°Π½Ρ‹ΠΉ", 4, 2)
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (veh_1)
      Π’Ρ‹Ρ…ΠΎΠ΄ 
     __main__.ΠžΠ±ΡŠΠ΅ΠΊΡ‚ транспортного срСдства ΠΏΠΎ адрСсу 0x0000019ECCCA05F8
     
    класс ВранспортноС срСдство:
        def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,колСса,сидСнья):
            self.driver = Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
            self.noofwheels = колСса
            self.noofseats = мСста
        Π·Π°Ρ‰ΠΈΡ‚Π° __str__(я):
            return "Имя водитСля:" + self.driver + ";" + "ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ мСст Π² ΠΊΠ°Π±ΠΈΠ½Π΅:" + str(self.noofseats)
    veh_1 = ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ("ΠŸΠ΅ΡΡ‡Π°Π½Ρ‹ΠΉ", 4, 2)
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (veh_1)
      Π’Ρ‹Ρ…ΠΎΠ΄ 
    Имя водитСля: Бэнди;
    ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ мСст Π² ΠΊΠ°Π±ΠΈΠ½Π΅: 2
     

    Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…

    Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ доступа ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ случайноС (ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ΅) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

    • Когда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π° символа подчСркивания '__' ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, это Π΄Π΅Π»Π°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ нСдоступным Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ класса. Он становится Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ эти Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ модуля.
    • Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ, это общСдоступный Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ , доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ класса.
    класс ΠšΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°:
        Π·Π°Ρ‰ΠΈΡ‚Π° __init__(сам):
            self.type = "ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ"
            self.__bhk = "3 BHK"
    flat_1 = ΠšΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°()
    ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°_1.Ρ‚ΠΈΠΏ
    прСмия
    flat_1.__bhk
    AttributeError: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ «Плоский» Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Β«__bhkΒ»
     
    Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ type являСтся общСдоступным Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ, Π° bhk β€” ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ нСльзя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ класса.

    Π”ΠΎΠ±Ρ‹Ρ‚Ρ‡ΠΈΠΊΠΈ ΠΈ сСттСры

    Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для получСния ΠΈ обновлСния значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π‘Π΅Ρ‚Ρ‚Π΅Ρ€ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обновляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Getter β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считываСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ·Π½Π°Π΅ΠΌ это Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

    класс ВранспортноС срСдство:
        def __init__(я,имя_водитСля,фамилия_водитСля):
            self.fdriver = имя_водитСля
            self.ldriver = фамилия_водитСля
            self. email = self.fdriver + '.' + self.ldriver + '@uber.com'
    veh_1 = ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ("Бэнди", "Π‘Ρ‚ΡŽΠ°Ρ€Ρ‚")
    veh_1.fΠ΄Ρ€Π°ΠΉΠ²Π΅Ρ€
      Бэнди 
    veh_1.email
      'Бэнди.Π‘Ρ‚ΡŽΠ°Ρ€Ρ‚@uber.com'
     
     
    Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ обновляСм имя водитСля, Π½ΠΎ это Π½Π΅ влияСт Π½Π° адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ.

    veh_1.fdriver = 'Π’ΠΎΠΌ'
    veh_1.fΠ΄Ρ€Π°ΠΉΠ²Π΅Ρ€
      'Π’ΠΎΠΌ' 
    veh_1.email
      'Бэнди.Π‘Ρ‚ΡŽΠ°Ρ€Ρ‚@uber.com'
      
    Имя Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ с Бэнди Π½Π° Π’ΠΎΠΌ, Π½ΠΎ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ остался ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ вопрос Β«ΠΊΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹?Β». Π‘ использованиСм @property Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹. email(self) β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ свойство. Π­Ρ‚ΠΎΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ называСтся Getters and Setters

    .
    класс ВранспортноС срСдство:
        def __init__(я,имя_водитСля,фамилия_водитСля):
            self.fdriver = имя_водитСля
            self.ldriver = фамилия_водитСля
            
        @свойство
        адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ (я):
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ self. fdriver + '.' + self.ldriver + '@uber.com'
    veh_1 = ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ("Бэнди", "Π‘Ρ‚ΡŽΠ°Ρ€Ρ‚")
    veh_1.fdriver = 'Π’ΠΎΠΌ'
    veh_1.email
      '[email protected]' 
     

    Как автоматичСски ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ имя ΠΈ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹

    класс ВранспортноС срСдство:
        def __init__(я,имя_водитСля,фамилия_водитСля):
            self.fdriver = имя_водитСля
            self.ldriver = фамилия_водитСля
            
        @свойство
        адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ (я):
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ self.fdriver + '.' + self.ldriver + '@uber.com'
        @email.setter
        адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ (я, адрСс):
            ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ = адрСс[:address.find('.')]
            послСдний = адрСс[address.find('.')+1:address.find('@')]
            self.fdriver = ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ
            self.ldriver = послСдний
    veh_1 = ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ("Бэнди", "Π‘Ρ‚ΡŽΠ°Ρ€Ρ‚")
    veh_1.email = '[email protected]'
    veh_1.fΠ΄Ρ€Π°ΠΉΠ²Π΅Ρ€
      'Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ' 
    veh_1.lΠ΄Ρ€Π°ΠΉΠ²Π΅Ρ€
      'Π±Ρ…Π°Π»Π»Π°' 
     

    Валидация

    Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅ Π³Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹ ΠΈ сСттСры Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм класс ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ суммы. Π‘ΡƒΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 10 Π΄ΠΎ 1Β 000Β 000. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ мСньшС 10, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ установлСно ΠΊΠ°ΠΊ 10. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся ввСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большС 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠΌ.

    ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ класса:
        def __init__(я, количСство):
            ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ сумма = сумма
            
        @свойство
        Π‘ΡƒΠΌΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (я):
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сСбя.__сумма
        @amount.setter
        сумма Π·Π°Ρ‰ΠΈΡ‚Ρ‹ (я, сумма):
            Ссли сумма 1000000:
                сам.__сумма = 1000000
            Π΅Ρ‰Π΅:
                self.__amount = количСство
    Π±Π»Π°Π³ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ = ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ (5)
    Π±Π»Π°Π³ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.сумма
      10 
     

    Как ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ класс

    Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ расскаТСм, ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ класс ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

    1. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ скрипт ΠΊΠ°ΠΊ Mymodule.py
    2. """
      Класс автомобиля
      """
      Кабина класса:
          
          #Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ
          количСство ΠΊΠ°Π±ΠΈΠ½ = 0
          def __init__(я,Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ,ΠΊΠΌ,ΠΎΠΏΠ»Π°Ρ‚Π°):
              self. driver = Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
              Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π³ = ΠΊΠΌ
              сСлф.Π±ΠΈΠ»Π» = ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ
              Cab.numberofcabs = Cab.numberofcabs + 1
          #Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΡ€Π΅Π΄Π½ΡŽΡŽ Ρ†Π΅Π½Ρƒ Π·Π° ΠΊΠΌ
          def rateperkm(я):
              Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ self.bill/self.running
              
          #Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΊΠ°Π±ΠΈΠ½
          @классмСтод
          ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ noofcabs (cls):
              Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ cls.numberofcabs
      Ссли __name__ == "__main__":
          
          #Класс ΠΊΠ°Π±ΠΈΠ½Ρ‹
          firstcab = Cab("РамСш", 80, 1200)
          Атрибут #driver Π² классС Cab
          ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (firstcab.driver)
          
          #ΠΌΠ΅Ρ‚ΠΎΠ΄ класса
          ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Cab.noofcabs())
       
    3. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится Ρ„Π°ΠΉΠ» Mymodule.py
    4. ΠΈΠΌΠΏΠΎΡ€Ρ‚ ОБ
      os.chdir("C:/ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ/DELL/Π Π°Π±ΠΎΡ‡ΠΈΠΉ стол/")
      ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
       
    5. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ запуститС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ имя модуля Π² качСствС прСфикса ΠΏΠ΅Ρ€Π΅Π΄ использованиСм класса ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса
    6. .
      #Класс ΠΊΠ°Π±ΠΈΠ½Ρ‹ Π² Mymodule.py
      firstcab = Mymodule.Cab("РамСш", 80, 1200)
      Атрибут #driver Π² классС ΠΊΠ°Π±ΠΈΠ½Ρ‹
      firstcab. Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ
      ΠœΠ΅Ρ‚ΠΎΠ΄ экзСмпляра #rateperkm Π² Mymodule2.py
      firstcab.rateperkm()
      ΠœΠ΅Ρ‚ΠΎΠ΄ класса #noofcabs Π² Mymodule2.py
      Мой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.Cab.noofcabs()
       
      Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ написания ΠΈΠΌΠ΅Π½ΠΈ модуля для доступа ΠΊ классу, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«ΠΈΠ·Β», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ пространство ΠΈΠΌΠ΅Π½.
      ΠΈΠ· ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Mymodule *
      firstcab = Cab("Бэнди", 80, ['Π”Π΅Π»ΠΈ', 'Нойда'], 1200, 3)
       

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ __name__ == "__main__"?

    Π›ΡŽΠ±ΠΎΠΉ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ , Ссли __name__ == '__main__': , Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ запускаСтС Ρ„Π°ΠΉΠ» .py Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ (ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°).

    Если Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ , ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Mymodule , ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ if __name__ == '__main__': Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½.

    Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это, сохранитС ΠΈ запуститС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ скрипт ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊ Π½Π΅ΠΌΡƒ доступ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°.

    Ссли __name__ == '__main__':
        print('ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚')
    Π΅Ρ‰Π΅:
        print('Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚')
     

    Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС

    Π’Π²Π΅Π΄ΠΈΡ‚Π΅ cd , Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈ имя ΠΏΠ°ΠΏΠΊΠΈ.