Home  >  Article  >  Backend Development  >  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)

不言
不言forward
2018-10-09 15:33:422460browse

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

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>

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'

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:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete