The difference between methods and functions in python

爱喝马黛茶的安东尼
Release: 2019-06-24 11:32:34
Original
2613 people have browsed it

The difference between methods and functions in python

This article mainly introduces the differences between functions and methods in Python from several dimensions:

First, let’s analyze it from the perspective of classification.

(1) Classification of functions:

Built-in functions: Some functions embedded in python. Anonymous function: One line of code implements a function. Recursive function custom function: define functions 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 subclass of the object, the parent class will be searched ( Super class), if there is no parent class (super class), 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 a completely independent method outside the class, but for the consistency of the code, it is uniformly placed in a certain module (py file) middle.

Related recommendations: "Python Video Tutorial"

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 the execution process will be automatically released. That is to say, after the function execution is completed, the value of the variable is modified inside the function body through assignment, etc. It will not be retained, and the opened space will be automatically released after 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) # 函数
Copy after login

The above is the detailed content of The difference between methods and functions in python. For more information, please follow other related articles on the PHP Chinese website!

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