Объектно-ориентированный интеллектуальный анализ данных Python Foundation

Python
Объектно-ориентированный интеллектуальный анализ данных Python Foundation

предисловие

Мы уже изучили основные типы данных, функции и чтение и запись файлов Python. Теперь давайте взглянем на объектно-ориентированное программирование Python. Если вы изучили объектно-ориентированный язык программирования, такой как Java, вы можете сравнить его с Python. Объектно-ориентированный язык покажется вам очень простым.Как скриптовый язык, Python более лаконичен и удобен, чем java в объектно-ориентированном, и имеет гораздо меньше ограничений.

создать объект

Как и в других языках, в Python для объявления класса используется ключевое слово class.В имени класса используется верблюжий регистр, а первая буква — заглавная.

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

    def run(self):
        print(self.name + " is running")

__init__()необходим метод, который используется при создании экземпляра объекта

Как показано в приведенном выше коде, в классе Python__init__()Важны методы, которые инициализируются для создания экземпляров объектов, чем-то похожих на конструкторы в Java.__init__()В методе «я» имеет важное значение и должно быть помещено на первое место, что является ссылкой на себя.

Создать экземпляр

Python создает экземпляры объектов следующими методами без использования нового ключевого слова.

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

    def run(self):
        print(self.name + " is running")


dog = Animal('lily', 2)

Доступ к свойствам и методам

К атрибутам и методам в Python можно обращаться напрямую.

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

    def run(self):
        print(self.name + " is running")


dog = Animal('lily', 2)
print(dog.age)
print(dog.name)
dog.run()

Добавить значения по умолчанию в свойства

Python может устанавливать значения по умолчанию для свойств, поэтому вам не нужно передавать параметры во время инициализации.

class Animal:
    def __init__(self, age):
        self.name = 'Lily'
        self.age = age

    def run(self):
        print(self.name + " is running")

Изменить значение атрибута

У Pyhton может быть два способа изменить значение свойства, первый — изменить значение свойства через прямой доступ.

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

    def run(self):
        print(self.name + " is running")


dog = Animal('lily', 2)
dog.name = 'Harry'
dog.age = 3
print(dog.age)
print(dog.name)
dog.run()

Результат показан ниже

Вы также можете изменять значения свойств с помощью методов, аналогичных сеттерам в Java.

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

    def run(self):
        print(self.name + " is running")

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


Dog = Animal('Harry', 2)
Dog.update_name('Lily')
Dog.run()

наследовать родительский класс

В Python также возможно наследование, но вместо использования ключевого слова extends скобки используются напрямую. вsuper().__init__(name, age)Связывает подкласс с суперклассом.

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

    def run(self):
        print(self.name + " is running")


class Dog(Animal):
    def __init__(self, name, age, leg):
        super().__init__(name, age)
        self.leg = 4


Harry = Dog("Harry", 2, 4)
print(Harry.leg)

Метод переопределения

Метод переопределения в Python относительно прост: если у подкласса есть функция с тем же именем, что и у родительского класса, экземпляр подкласса напрямую вызывает функцию подкласса при вызове функции.

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

    def run(self):
        print(self.name + " is running")

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


class Dog(Animal):
    def __init__(self, name, age, leg):
        super().__init__(name, age)
        self.leg = 4

    def run(self):
        print("Dog is running")


Harry = Dog("Harry", 2, 4)
Harry.run()

Наконец

Лайки — это самая большая поддержка Для получения дополнительных статей и информации вы можете подписаться на общедоступный аккаунт WeChat QStack.