Table of Contents
1. preface
2. Class class
3. Instance
Home Backend Development Python Tutorial A brief explanation of classes and instances in Python object-oriented programming (with examples)

A brief explanation of classes and instances in Python object-oriented programming (with examples)

Oct 09, 2018 pm 03:33 PM
python

What this article brings to you is a simple explanation of classes and instances in Python programming (with examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

1. preface

Object-oriented programming OOP: object oriented programming.
OOP regards objects as the basic unit of the program. An object contains data and functions for operating data. Python is an object-oriented programming language that implements method calls through objects.

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.
Object-oriented programming regards the computer program as a collection of objects, and each object can receive messages from other objects and process these messages. The execution of the computer program is a series of messages in each object. passed between.

For object-oriented languages, the important concepts are classes and instances. A class is an abstract template, and an instance is an object created based on the class template.
In python, all data types can be regarded as objects, and of course objects can also be customized. Custom object data types are the concept of classes in object-oriented, and objects are created based on classes.
Its three major characteristics are: encapsulation, inheritance, and polymorphism.

2. Class class

A class is an abstract template and a data structure.

Syntax:
class class_name: pass
class class_name(object): pass

Explanation:
class is the keyword, class. The class name class_name usually starts with an uppercase letter.
object indicates which class this class inherits from. In fact, object is the base class that all classes inherit, and is generally not written out explicitly. (I usually write it)

For example, if there are students in a class, there will be many things in common for this collection of students, such as the student’s name, student number, grade, and major. , grades and a series of common characteristics, then we can abstract these into a Student class. As follows:

class Student(object):
    pass
Copy after login

In the above example, we first use pass to demonstrate, which means doing nothing.

3. Instance

You can create a Student instance through a class. The method is as follows:

>>> bart = Student()        # 变量bart指向的是一个Student的实例 
>>> bart
<__main__.student> # 类object 实例的内存地址
>>> Student                 # 类
<class>     # 返回的是Student 类的属性 class</class></__main__.student>
Copy after login

You can bind attributes to instances of a class. .

Attributes are the data or function elements of an object. For example, the student's name, student number and other information in the Student category.

Accessed through the "stronghold attribute identification method".

Python is a dynamic language, and instances created based on classes can be arbitrarily bound to attributes. The way to bind properties to an instance is through instance variables or through the self variable.

>>> bart.name = 'xlp'        # 动态给变量绑定属性
>>> bart.name
'xlp'
Copy after login

How are properties bound? __init__() instance method.
When an instance is created, Python will check whether the __init__() method is implemented. If this method is not defined, no specific operations will be applied to the instance. If any special operations are required, you need to customize the method yourself. method. That is, __init()__ will be called automatically, whether it is default or customized.

__init__(self)

1. The first parameter of this method is always self, and self points to the created instance itself;

2. Through this method, The attribute is bound to the instance pointed to by self;

3. The __init__() method returns None;

4. In this method, you can set default parameters and positional parameters. When creating an instance, you cannot pass in empty parameters. You must pass in parameters that match the method, but self does not need to be passed in. The default parameters are passed in as needed.

For the third point: Because the instance object is returned after the automated creation instance call, if the constructor __init__() is defined, it should not return any object, otherwise conflicts may occur, only Return instance. Attempting to return any object other than None will report a TypeError error:

A brief explanation of classes and instances in Python object-oriented programming (with examples)

View instance properties: dir()
Through the built-in function dir (class_name) can view the attributes of the class, for example: dir(Student1). You can also access the instance's properties. Try to print it out and see for yourself~

The above is the detailed content of A brief explanation of classes and instances in Python object-oriented programming (with examples). 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