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

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)

 

Пример класса в  Питон.
Создадим простейший класс в Python у объектов которого есть одно свойство это имя человека и один  метод, который реализует приветствие по имени. В основной программе создадим объект класса и вызовем метод приветствие для созданного объекта класса 
Класс будет иметь имя GreetClass. Свойство класса,которое отвечает за имя человека greet_name Метод класса, который отвечает за вывод на экран приветствия будет иметь имя greet

 

Пример создания пользовательского класса в Python
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 принимает логические значения. Если эта переменная истинна, то программа будет приветствовать пользователя по имени и фамилии. Если переменная ложна, то программа будет приветствовать пользователя только по имени.

Пример программы на Python с пользовательским классом, в котором в методе класса передается параметр
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 выводит в консоль разные реплики. Если эта переменная истинна, то собака скажет, что она виляет хвостом. Если переменная ложна, то собака сообщит, что перед ней стоит чужой человек.

Пример программы в Python, в которой определяется собственный класс. В классе задается два метода
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)

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