Рубрики
Без рубрики

Введение в основы программирования Python (часть 3)

Классы Класс похож на план для создания объектов, он выявляет концепции ООП на вид … Теги с Python, начинающими, учебниками, CodeNewie.

Классы

Класс похож на план для создания объектов, он выявляет концепции ООП на вид. Объект в классе взамен имеет свойства и методы, связанные с ним. Чтобы создать класс в Python, мы используем класс ключевых слов I.E

class Me:
   def __init__(self, name, age, hobby):
      self.name = name
      self.age = age
      self.hobby = hobby

В приведенном выше примере мы создали класс, называемый мной функцией. Следующим шагом будет иметь значения в объекте мне

Billy = Me('Billy', 50, 'dancing')

Как вы можете использовать, мы использовали точный порядок, поскольку мы указываем при создании объекта, весь код теперь будет выглядеть так:

class Me:
   def __init__(self, name, age, hobby):
      self.name = name
      self.age = age
      self.hobby = hobby

billy = Me('Billy', 50, 'dancing')

print(billy.age)

Когда мы запускаем это, мы получим возраст Билли, который составляет 50 лет, это потому, что мы призваны только к напечатанному возрасту. Мы также можем добавить еще один метод в нашем классе, чтобы мы получили хороший выход

class Me:
   def __init__(self, name, age, hobby):
      self.name = name
      self.age = age
      self.hobby = hobby

   def message(self):
      return f'My name is {self.name} ,i like {self.hobby} and i am {self.age}'

billy = Me('Billy', 50, 'dancing')

print(billy.message())

Это выкроет сообщение, имя и хобби Билли I.E

My name is Billy ,i like dancing and i am 50

Мы можем несколько методов в классе. Например, что, если мы хотим, чтобы наш возраст, чтобы добавить через год, как мы поставим это …. Хммммммм, думая, Да, я знаю, как мы это сделаем. Мы добавим еще один метод, который проверяет, прошло ли один год …

class Me:
   def __init__(self, name, age, hobby):
      self.name = name
      self.age = age
      self.hobby = hobby

   def message(self):
      return f'My name is {self.name} ,i like {self.hobby} and i am {self.age}'

def one_year_passed(self):
      self.age +=1

billy = Me('Billy', 50, 'dancing')

billy.one_year_passed()
print(billy.message())

В предыдущем примере он напечатал возраст 50 лет, но когда мы запускаем вышеприведенный пример, возраст изменится с 50 до 51, потому что мы назвали методом One_year_Passed перед печатью, и метод добавил 1 к возрасту, который у нас было до сих пор, что Мы знаем, как создать класс, как мы создаем другой класс, который расширяет класс, который мы имели ранее. Для этого мы просто создаем другое и пропустите другое имя класса в качестве параметра. Итак, давайте создадим еще один класс «друг», который имеет все свойства «я», а затем мы добавляем метод my_debt в классе друзей. Им то, что мы хотим сделать снова, перезаписать сообщение метода (), чтобы у Классового друга имело свой собственный сообщение (), который также распечатает долг.

class Me:
   def __init__(self, name, age, hobby):
      self.name = name
      self.age = age
      self.hobby = hobby

   def message(self):
      return f'My name is {self.name} ,i like {self.hobby} and i am {self.age}'

def one_year_passed(self):
      self.age +=1

#Extend class
class Friend(Me):
   def __init__(self, name, age, hobby):
      self.name = name
      self.age = age
      self.hobby = hobby
      self.debt = 0

   def my_debt(self, debt):
      self.debt = debt

   def message(self):
      return f'My name is {self.name} ,i like {self.hobby} and i am {self.age} and my debt is {self.debt}'

# Initialising Me object
billy = Me('Billy', 50, 'dancing')
# Initialising Friend object
dan = Friend ('Dan', 20, 'singing'

dan.my_debt(1000)
print(dan.message())

billy.one_year_passed()
print(billy.message())

Когда мы запускаем это, у нас будет вывод, как показано ниже:

My name is Dan, i like singing and i am 20 and my debt is 1000
My name is Billy, i like dancing and i am 51

Это все сейчас, увидимся позже ..

Оригинал: “https://dev.to/billy_de_cartel/introduction-to-python-programming-basics-part-3-3kjg”