Home Backend Development Python Tutorial [Python learning] Object-oriented programming

[Python learning] Object-oriented programming

Apr 09, 2019 am 09:27 AM
python object

Process-oriented programming regards a computer program as a series of command sets, that is, the sequential execution of a set of functions. In order to simplify programming, process-oriented functions are continued to be divided into sub-functions, that is, large functions are cut into small functions to reduce the complexity of the system.

Python and java are both object-oriented languages. Characteristics of object-oriented programmingData encapsulation, inheritance and polymorphism
1. Classes and instances
The most important concepts of object-oriented programming are classes and instances ), you must remember that a class is an abstract template, such as the Student class, and instances are specific "objects" created based on the class. Each object has the same methods, but their data may be different.
In python, the class keyword is also used to define a class. Class is followed by the class name, which needs to be capitalized at the beginning. The brackets after it indicate which class it inherits, that is, its parent class.

class Student(object):
    pass
Copy after login

We can freely bind attributes to this variable

>>>nick.name = 'Liu Ling Hao'
>>>nick.name
'Liu Ling Hao'
Copy after login

The different functions defined later are methods. In summaryObject = Attribute Method
Because classes can function as templates, when creating an instance, we can forcefully fill in some attributes that we think must be bound. At this time, you need to use the more special __init__ method. (There are two underscores before and after int) The first parameter of the
__init__ method is always self, which represents the created instance itself.

class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = scor
>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59
Copy after login

When you have the __init__ method, you cannot pass in empty parameters when creating an instance. You must pass in parameters that match the __init__ method
2. Encapsulation, inheritance and polymorphism
An important feature of object-oriented programming is data encapsulation.
Just like name and score in the above example, we can access it directly through functions defined inside the class. For example, we can add a piece of data or sort a list. We can implement it, but we don't know it. The interior is achieved through how it is adjusted.

When we define a class, we can inherit from an existing class. The new class is called a subclass (Subclass), and the inherited class is called a base class or a parent class. Or super class (Base class, Super class).

The advantage of inheritance is that you get all the functions of the parent class. For subclasses, you can continue to write on the basis of the parent class, which is more convenient.

class Person(object):
    def idea(self):
        print('study is happy')class Liu(Person):
    pass
liu =Liu()liu.idea

study is happy
Copy after login

Of course, if the subclass When there is the same method as the parent class, it will automatically override the parent class's

Polymorphism: different objects respond to different actions for the same method

>>>class Nick1:
    def name(self):
          	 print("我是1")
>>>class Nick2:
    def name(self):
    		 print("我是2") 
>>>a = Nick1()
>>>b = Nick2()
>>>a.name
我是1
>>>b.name
我是2
Copy after login

Although the function names used are the same, the implementations are different Same.

def run(animal):
    animal.run()
    animal.run()
    >>> run(Animal())
Animal is running...
Animal is running...
>>> run_twice(Dog())
Dog is running...
Dog is running...
Copy after login

The advantage of polymorphism is that when we need to pass in Dog or other animals, we only need to receive the Animal type, because Dogs are all Animal types, and then operate according to the Animal type. . Since the Animal type has a run() method, any type passed in, as long as it is an Animal class or subclass, will automatically call the run() method of the actual type. This is polymorphism.

[Recommended course: Python video tutorial]

The above is the detailed content of [Python learning] Object-oriented programming. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Can the Python interpreter be deleted in Linux system? Can the Python interpreter be deleted in Linux system? Apr 02, 2025 am 07:00 AM

Regarding the problem of removing the Python interpreter that comes with Linux systems, many Linux distributions will preinstall the Python interpreter when installed, and it does not use the package manager...

How to solve the problem of Pylance type detection of custom decorators in Python? How to solve the problem of Pylance type detection of custom decorators in Python? Apr 02, 2025 am 06:42 AM

Pylance type detection problem solution when using custom decorator In Python programming, decorator is a powerful tool that can be used to add rows...

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

Python 3.6 loading pickle file error ModuleNotFoundError: What should I do if I load pickle file '__builtin__'? Python 3.6 loading pickle file error ModuleNotFoundError: What should I do if I load pickle file '__builtin__'? Apr 02, 2025 am 06:27 AM

Loading pickle file in Python 3.6 environment error: ModuleNotFoundError:Nomodulenamed...

Do FastAPI and aiohttp share the same global event loop? Do FastAPI and aiohttp share the same global event loop? Apr 02, 2025 am 06:12 AM

Compatibility issues between Python asynchronous libraries In Python, asynchronous programming has become the process of high concurrency and I/O...

What should I do if the '__builtin__' module is not found when loading the Pickle file in Python 3.6? What should I do if the '__builtin__' module is not found when loading the Pickle file in Python 3.6? Apr 02, 2025 am 07:12 AM

Error loading Pickle file in Python 3.6 environment: ModuleNotFoundError:Nomodulenamed...

How to ensure that the child process also terminates after killing the parent process via signal in Python? How to ensure that the child process also terminates after killing the parent process via signal in Python? Apr 02, 2025 am 06:39 AM

The problem and solution of the child process continuing to run when using signals to kill the parent process. In Python programming, after killing the parent process through signals, the child process still...

See all articles