Home >Backend Development >Python Tutorial >objects in python
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);
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)
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);
The + operator in python actually performs the following operations:
data.__add__([3,4,5])
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);
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();
Output result
32
y = s.pop();
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);
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);
Output result:
[66, 65, 64, 63]
s.reverse();#此方法 用于反转列表中元素的顺序
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);
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)!