objects in python

黄舟
Release: 2017-01-19 17:16:31
Original
1639 people have browsed it

Objects: All values ​​used in the program are objects. Objects are composed of internal properties and methods. These methods will perform various operations related to the data. We have already used the methods when operating list type data:

data = [37,34];  
data.insert(1,25);   
data.append(23)  
print(data);
Copy after login

Output results:
37,25,34,23

The dir() function can list the methods available on the object and is a tool for interactive experience

dir(data)
Copy after login

Output results:
['__add__', '__class__', '__contains__', ...'append', 'clear', 'copy', 'count', 'extend', 'index' , 'insert', 'pop', 'remove', 'reverse', 'sort']

When you use the dir() function to view the object's methods, you will find that there are many special ones starting and ending with underscores. Methods These methods are used to implement various operations;
For example:

data = data +[3,4,50];  
print(data);
Copy after login

The + operator in python actually performs the following operations:

data.__add__([3,4,5])
Copy after login

Note: Two Whether an object can perform addition operations first depends on whether the corresponding object has an __add__() method. If so, even if the object is mathematically non-additive, we can express its defined operation in the form of addition, so we can conclude Conclusion: Magic methods like __add__ in Python generally define different behaviors. The corresponding behavior of __add__ is + operation or connection
In object-oriented programming, class objName class: defines the class objName of the object: Class name

class Stack(object):  
    def __init__(self): #__init__ 构造器,当一个实例被创建的时候 调用的初始化方法  
        self.stack = [];  
    def push(self,object):  
        self.stack.append(object);  
    def pop(self):  
        return self.stack.pop();  
    def length(self):  
        return  len(self.stack);
Copy after login

When defining the Stack class, the syntax class Stack(object) declares Stack as an object. Parentheses are the way python specifies inheritance. Therefore, the Stack class inherits from object. Object is among all python types. Root type
The method is defined using def syntax in the class. The first parameter self in each method always points to the object itself
self variable: all operations involving the object must reference the self variable
How to use Stack ?

s = Stack();   
s.push("Dave");  
s.push([3,4,5,6]);  
s.push(32);  
x = s.pop();
Copy after login

Output result
32

y = s.pop();
Copy after login

Output result:
[3, 4, 5, 6]
append() method: list of this method in python As introduced in a chapter, it is used to append an element to the end of the list
pop() method: used to delete an element from the end of the list and return the element
len() function: returns the element in the list Number
The Stack class actually creates a brand new object to implement the stack, but the stack is almost identical to the built-in list object, so we can directly inherit the list and then add additional methods

class Stack(list):  
    def push(self,object):  
        self.append(object);
Copy after login

When inheriting the list object, the method Stack object of the list object can be used directly

s = Stack();  
s.push(66);   
s.push(65);   
s.push(64);   
s.push(63);
Copy after login

Output result:
[66, 65, 64, 63]

s.reverse();#此方法 用于反转列表中元素的顺序
Copy after login

Output Result:
[63, 64, 65, 66]
How to create a static method in a class?
Usually all methods defined in a class are only used with instances of the class (created objects), but static methods can also be defined (can be called like functions)

class MyObject(object):  
    @staticmethod  
    def myCheck():  
        return 'ok';  
result = MyObject.myCheck();  
print(result);
Copy after login

Output results:
ok
@staticmethod is a decorator (decorator), which is actually a function. Before we execute the myCheck function, the staticmethod function of the decorator is executed first and the myCheck method is defined as a static method.
Summary:
1, dir() Method: You can view all methods of the object
2, Magic method: Methods starting and ending with double underscores. This class of methods defines different behaviors, such as: __add__() method defines + operation
3, Class definition in python Methods and how to inherit objects such as: class MyObject(object)

4, @staticmethod: Use of decorators: Define a method as a static method

The above is the content of objects in python , for more related content, please pay attention to the PHP Chinese website (www.php.cn)!


Related labels:
source:php.cn
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!