Учебники

14) Класс и объекты Python

Что такое класс?

Класс — это логическая группа данных и функций. Это дает свободу создавать структуры данных, которые содержат произвольный контент и, следовательно, легко доступны.

Например, для любого сотрудника банка, который хочет получить информацию о клиенте в Интернете, следует перейти к классу клиентов , где будут перечислены все его атрибуты, такие как детали транзакции, сведения о снятии и депозите, непогашенный долг и т. Д.

В этом уроке мы узнаем,

Как определить классы Python

Для определения класса необходимо учитывать следующие моменты

Шаг 1) В Python классы определяются ключевым словом «Class»

	class myClass():

Шаг 2) Внутри классов вы можете определить функции или методы, которые являются частью этого класса

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • Здесь мы определили method1, который печатает «Guru99».
  • Другой метод, который мы определили, это method2, который печатает «Тестирование программного обеспечения» + SomeString. SomeString — переменная, предоставляемая вызывающим методом

Шаг 3) Все в классе имеет отступ, так же, как код в функции, цикл, оператор if и т. Д. Все, что не имеет отступа, не находится в классе

Класс и объекты Python: определение класса, наследование - учебник ООП

ПРИМЕЧАНИЕ : об использовании «self» в Python

  • Самостоятельный аргумент относится к самому объекту. Отсюда и использование слова «я». Таким образом, внутри этого метода self будет ссылаться на конкретный экземпляр этого объекта, с которым работает.
  • Self — это имя, предпочитаемое соглашением Pythons для обозначения первого параметра методов экземпляра в Python. Это часть синтаксиса Python для доступа к членам объектов

Шаг 4) Сделать объект класса

	c = myClass()

Шаг 5) Чтобы вызвать метод в классе

    c.method1()
    c.method2(" Testing is fun")
  • Обратите внимание, что когда мы вызываем method1 или method2, нам не нужно указывать ключевое слово self. Для нас это автоматически обрабатывается средой исполнения Python.
  • Среда выполнения Python передаст значение «self» при вызове метода экземпляра в экземпляре, независимо от того, намеренно вы его предоставили или нет
  • Вы просто должны заботиться о не-собственных аргументах

Шаг 6) Вот полный код

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  def method2(self,someString):    
      print("Software Testing:" + someString)
  
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()

Как работает наследование

Наследование — это функция, используемая в объектно-ориентированном программировании; это относится к определению нового класса с меньшими изменениями или без изменения существующего класса. Новый класс называется производным классом, а тот, который он наследует, называется базовым . Python поддерживает наследование; он также поддерживает множественное наследование . Класс может наследовать атрибуты и методы поведения от другого класса, называемого подклассом или наследником.

Класс и объекты Python: определение класса, наследование - учебник ООП

Синтаксис наследования Python

class DerivedClass(BaseClass):
    body_of_derived_class

Шаг 1) Запустите следующий код

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print ("childClass Method1")
        
  def method2(self):
        print("childClass method2")     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Обратите внимание, что метод childClass, method1 не определен, но он является производным от родительского myClass. Выход «Гуру99».

Шаг 2) Раскомментируйте строки № 8 и 10. Запустите код

Теперь метод 1 определен в childClass, и вывод «childClass Method1» отображается правильно.

Шаг 3) Раскомментируйте строку № 9. Запустите код

Вы можете метод родительского класса, используя синтаксис

	ParentClassName.MethodName(self)

В нашем случае мы вызываем myClass.method1 (self) и Guru99 печатается как ожидается

Шаг 4 ) Раскомментируйте строку № 19. Запустите код.

Метод 2 дочернего класса вызывается, и «метод childClass2» печатается, как и ожидалось.

Конструкторы Python

Конструктор — это функция класса, которая создает объект с предопределенными значениями.

Он начинается с двойного подчеркивания (_). Это __init __ () метод

В следующем примере мы берем имя пользователя с помощью конструктора.

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

Выход будет:

Добро пожаловать на Guru99, Алекс

Пример Python 2

Приведенные выше коды являются примерами Python 3. Если вы хотите запустить Python 2, рассмотрите следующий код.

# How to define Python classes
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
  def method2(self,someString):    
      print "Software Testing:" + someString
      
   
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()


#How Inheritance works
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
      
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print "childClass Method1" 
        
  def method2(self):
        print "childClass method2"     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Резюме:

«Класс» — это логическая группировка функций и данных. Класс Python предоставляет все стандартные функции объектно-ориентированного программирования.

  • Механизм наследования классов
  • Производный класс, который переопределяет любой метод своего базового класса
  • Метод может вызывать метод базового класса с тем же именем
  • Классы Python определяется ключевыми словами «класс» сам по себе
  • Внутри классов вы можете определить функции или методы, которые являются частью класса
  • Все в классе имеет отступ, как и код в функции, цикл, оператор if и т. Д.
  • Аргумент self в Python ссылается на сам объект. Self — это имя, предпочитаемое соглашением Pythons для обозначения первого параметра методов экземпляра в Python.
  • Среда выполнения Python автоматически передаст значение «self» при вызове метода экземпляра в экземпляре, независимо от того, намеренно вы его предоставили или нет
  • В Python класс может наследовать атрибуты и методы поведения от другого класса, называемого подклассом или наследником.