классы в Питон

28 января 2019 - Администратор

Классы и объектно-ориентированное программирование в Python Питон.

В этом уроке научимся создавать классы их методов в Python , создавать объекты классов  вызывать  методы классов в программе Питон. Python позволяет реализовывать объектно-ориентированное программирование с помощью классов, его объектов и методов. Класс это пользовательский тип, в котором  прописываются как  свойства параметры, так и функции методы.Объект это элемент класса. Классы позволяют скрыть всю реализацию программы от пользователя класса. Программист использует методы класса, не вникая в их реализацию. Это позволяет нескольким программистам реализовывать программы одновременно.

Определение класса в Питон

Чтобы задать класс в Питон, используется конструкция
class имя_класса():
    def метод_1():...
    ...
    def метод_n():...

В каждом классе в Питон прописываются свойства объектов и методы класса. Методы в классе задаются так же, как функции и процедуры в Python.

Для задания метода в классе в Питоне используется команда
def название_метода(self):
    команда_1...
   ...
    команда_n

Ключевое слово self в Питоне нужно прописывать как первый аргумент в любом методе.  Оно необходимо для  того чтобы отличать  метод класса от простой функции.  Чтобы использовать в методе класса  свойство  объекта класса необходимо  использовать конструкцию 
self.свойство
Свойства  объекта  класса задаются в методе __init__. 
 При создании объекта класса метод __init__  всегда выполняется первым. В этом методе задаются свойства объекта  класса.
def __init__(self, параметр_1,..., парметр_n):
    self.свойство1=параметр1
    self.свойство2=параметр2

Чтобы создать объект т класса в Питон необходимо использовать команду
имя_объекта = имя_класса(параметр_1,..., параметр_n)
Чтобы вызвать метод класса  в программе Питон необходимо использовать конструкцию
имя_объекта.имя_метода(параметр_1,...,параметр_n)
Пример класса в  Питон.
Создадим простейший класс у объектов которого есть одно свойство это имя человека и один  метод , который реализует приветствие по имени. В основной программе создадим объект класса и вызовем метод приветствие для созданного объекта класса 
Класс будет иметь  имя GreetClass. Свойство  с именем человека greet_name Метод будет иметь имя greet
class GreetClass():
    def __init__(self, name):
        self.greet_name = name
    def greet(self):
        print("Здравствуйте, %s!" % (self.greet_name))
greet_object = GreetClass("Михаил")
greet_object.greet()

В методах класса в  Python  можно  использовать  параметры как в обычных функциях
def имя_метода(self, параметр_1,..., параметр_n)
Пример класса с методом, принимающим  параметр. В этом примере параметр принимает метод greet(self, show_surname). show_surname принимает логические значения. Если эта переменная истинна, то программа будет приветствовать пользователя по имени и фамилии. Если переменная ложна, то программа будет приветствовать пользователя только по имени.
class greetings():
    def __init__(self, n, s):
        self.name = n
        self.surname = s
    def greet(self, show_surname):
        if (show_surname == True):
            print("Здравствуйте, %s %s." % (self.name, self.surname))
        if (show_surname == False):
            print("Здравствуйте, %s." % self.name)
name = greetings("Михаил", "Михайлов")
name.greet(False)

Пример класса в Python. Класс задаёт собаку с породой breed. Метод my_dog.shout() выводит в консоль строку с приветствием собаки и её породой. Метод my_dog.master(isMaster) в зависимости от значения параметра isMaster выводит в консоль разные реплики. Если эта переменная истинна, то собака скажет, что она виляет хвостом. Если переменная ложна, то собака сообщит, что перед ней стоит чужой человек.
class dog(object):
    def __init__(self, breed):
        self.breed = breed
    def shout(self):
        print("Гав! Я %s!" % self.breed)
    def master(self, isMaster):
        if (isMaster == True):
            print("Я виляю хвостиком!")
        if (isMaster == False):
            print("Гав! Гав! Чужак!")
my_dog = dog("Овчарка")
my_dog.shout()
my_dog.master(True)

Вернуться к содержанию Следующая тема Графический пользовательский интерфейс в питон

Комментарии (0)

Нет комментариев. Ваш будет первым!