This article mainly introduces the differences between functions and methods in python from several dimensions:
First, analyze from the perspective of classification.
(1) Classification of functions: (Recommended learning: Python video tutorial)
Built-in functions: Some functions embedded in python.
Anonymous function: One line of code implements a function.
Recursive function
Custom function: Define the function according to your own needs.
(2) Classification of methods:
Ordinary method: method called directly with self.
Private method: __Function name, a method that can only be called in the class.
Property method: @property, disguise the method as a property to make the code look more reasonable.
Special method (double underline method): Taking __init__ as an example, it is used to encapsulate the attributes of the instantiated object. As long as the object is instantiated, the __init method will be executed. If there is no such method in the object subclass It will look for the parent class (super class). If there is no parent class (super class), it will directly inherit the object (python 3.x) class and execute the __init__ method in the class. Class method: operate the properties and methods in the public template by calling the class name.
Static method: There is no need to pass in the class space or object method. The function is to ensure the consistency and standardization of the code. It can be completely independent of a method outside the class, but for the sake of code consistency, it can be unified into a certain method. module (py file).
Secondly, analyze from the perspective of scope:
(1) Function scope: from the beginning of the function call to the completion of function execution, after returning to the caller, The space opened during execution will be automatically released. That is to say, after the function execution is completed, the value of the variable modified through assignment and other methods inside the function body will not be retained. The opened space will be automatically released as it is returned to the caller.
(2) Method scope: When a method is called through an instantiated object, the space opened after the call will not be released, which means that the modified value of the variable in the calling method will always be retained.
Finally, the calling method is different.
(1) Function: Called through "function name ()".
(2) Method: Called through "object.method name".
class Foo(object): def func(self): pass #实例化 obj = Foo() # 执行方式一:调用的func是方法 obj.func() #func 方法 # 执行方式二:调用的func是函数 Foo.func(123) # 函数
For more Python-related technical articles, please visit the Python Tutorial column to learn!
The above is the detailed content of The difference between python functions and methods. For more information, please follow other related articles on the PHP Chinese website!