Что такое класс?
Класс — это логическая группа данных и функций. Это дает свободу создавать структуры данных, которые содержат произвольный контент и, следовательно, легко доступны.
Например, для любого сотрудника банка, который хочет получить информацию о клиенте в Интернете, следует перейти к классу клиентов , где будут перечислены все его атрибуты, такие как детали транзакции, сведения о снятии и депозите, непогашенный долг и т. Д.
В этом уроке мы узнаем,
Как определить классы 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 и т. Д. Все, что не имеет отступа, не находится в классе
ПРИМЕЧАНИЕ : об использовании «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
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 класс может наследовать атрибуты и методы поведения от другого класса, называемого подклассом или наследником.