The content of this article is about the analysis of some functions in python. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
In python, a variable has no type, it is a reference to an object, and the type belongs to the object
A variable is essentially a placeholder! Variables are usually named with lowercase letters.
1: Syntax
def Function name (parameter list):
Function body
(Function names generally use combinations of lowercase letters, single underlines, numbers, etc.)
2: Types of commonly used functions
(1) Functions with parameters: parameters must be passed into the function in the correct order
(2) Default parameter function: If no parameters are passed, it will be used Default parameters, if the default parameters are not at the end, an error will be reported!
(3) Keyword parameters: Function calls use keyword parameters to determine the passed parameter values
(4) Indefinite-length parameters: The function can handle more parameters than when originally declared ,
①All variables in *args will be packed into a tuple to store all unnamed variables
②All variables in **args will be packed into a dictionary
( 5) When declaring a function, the asterisk * in the parameter can appear alone, and the parameters after * must be passed in with keywords
(6) Anonymous functions, use lambda functions to create anonymous functions
①lambda is just an expression, and the function body is much simpler than def
②The main body of lambda is an expression, not a code block
③The function has its own namespace and cannot access outside its own parameter list Or parameters in the global namespace.
Three: Parameter passing of python function:
Immutable type:
C-like value passing, such as int, string, tuple.
Such as fun(a), only the value of a is passed and does not affect the a object itself.
For example, modifying the value of a inside fun (a) only modifies another copied object and will not affect a itself.
Variable type:
Similar to c reference transfer , such as lists and dictionaries. For example, fun (la), la is actually passed to it. After modification, la outside fun will also be affected. It should be said that passing immutable objects and passing mutable objects
Four: Variable scope
There are generally four types of scopes in python:
L (Local) local scope Domain
E (Enclosing) In the function outside the closure functionG (Global) Global scope
B (Built-in) Built-in scope
The search rule is L-> ;E->G->B
In Python, only modules, classes and functions (def, lambda) will introduce new scopes. Other code blocks (such as if/ elif/else/, try/except, for/while, etc.) will not introduce new scopes, which means that the variables defined in these statements can also be accessed from the outside.
5: Global variables and local variables
Variables defined inside the function have a local scope, and variables defined outside the function have a global scope.
When the inner scope wants to modify the variables of the outer scope, the global and nonlocal keywords are used.
(1) global is used to modify the value of global variables
(2) nonlocal is required to modify variables in the nested scope (enclosing scope, outer non-global scope) The nonlocal keyword is
6: Tips in function calling (important)
Function name.__doc__Get the help document of the function
The function name can be used as the reference of another function Formal parameters
Multiple return values are returned in the form of tuples
Internal functions, global variables can be accessed without modifying them! !
Internal function, if you modify the global variable with the same name, python will think it is a local variable! !
Seven: About naming
(1) File name: all lowercase, you can use underscores
(2) Function name: lowercase, small camel case principle
(3) Variable name: all lowercase, connected by underscores
For detailed naming rules, please refer to PEP8
8: Several special functions
map reduce
filter
# --------------------------------------------------------------------------# # 函数的语法及调用 # --------------------------------------------------------------------------# def func(func_name, number): # 函数的定义 """打印输入的任何字符串""" print(func_name, number) return 'Done' func('func_1', 'faith') # 函数的调用 # --------------------------------------------------------------------------# # 不定长参数函数,封装成元组 # --------------------------------------------------------------------------# def func_1(func_name, *number): """ 打印输入的任何字符串 """ print(type(number)) print(func_name, number) return 'Done' func_1('func_1', 1, 2, 2, 3) def func_2(func_name, number): # print(type(number)) print(func_name, number) return 'Done' func_2('func_2', (1, 2, 2, 3)) def func_3(func_name, *number): print(func_name) print(number[3]) # 根据元组index中一部分变量 print(number[4]) return 'Done' func_3('func_3', 1, 2, 2, 3, 'aaa', 'abc') # get out question: the number of index isn't known in most case! # --------------------------------------------------------------------------# # 不定长参数函数,封装成字典 # --------------------------------------------------------------------------# def func_4(func_name, **number): # 可变参数必须在函数参数的最后 # print(type(number)) print(func_name, number) return 'Done' func_4('func_4', name='faith') # --------------------------------------------------------------------------# # 命名关键字函数 # --------------------------------------------------------------------------# def func_5(a, x, c, *, china, uk): print('func_5:', china, uk) print(a, x, c) func_5(1, 2, 3, china='bJ', uk='rs') # 调用时必须加上关键字 # func_5(1, 2, 3, 'bJ', 'rs') # --------------------------------------------------------------------------# # 函数应用之-递归 # --------------------------------------------------------------------------# def my_sum(i): if i < 0: raise ValueError # 抛出错误 elif i <= 1: return i else: return i + my_sum(i - 1) print(my_sum(1.4)) # --------------------------------------------------------------------------# # 传递不可变对象实例 # --------------------------------------------------------------------------# def change_int(a): a = 10 b = 2 change_int(b) print(b) # 结果是2 # --------------------------------------------------------------------------# # 传递可变对象实例 # --------------------------------------------------------------------------# def change_me(mylist): mylist.append([1, 2, 3, 4]) print("函数内取值: ", mylist) return myList = [10, 20, 30] change_me(myList) print("函数外取值: ", myList) # --------------------------------------------------------------------------# # 函数内修改全局变量的值 # --------------------------------------------------------------------------# money = 200 # 模块里面的全局变量 def add_money(): global money money = money + 1 return money print("修改后的值money = ", add_money()) # --------------------------------------------------------------------------# # 匿名函数 # --------------------------------------------------------------------------# sum_1 = lambda arg1, arg2: arg1 + arg2 # 调用sum函数 print("相加后的值为 : ", sum_1(10, 20)) print("相加后的值为 : ", sum_1(20, 20)) # 单独编译一个文件时候输出结果 if __name__ == "__main__": pass
The above is the detailed content of Analysis of part of the function in python. For more information, please follow other related articles on the PHP Chinese website!

Python and C each have their own advantages, and the choice should be based on project requirements. 1) Python is suitable for rapid development and data processing due to its concise syntax and dynamic typing. 2)C is suitable for high performance and system programming due to its static typing and manual memory management.

Choosing Python or C depends on project requirements: 1) If you need rapid development, data processing and prototype design, choose Python; 2) If you need high performance, low latency and close hardware control, choose C.

By investing 2 hours of Python learning every day, you can effectively improve your programming skills. 1. Learn new knowledge: read documents or watch tutorials. 2. Practice: Write code and complete exercises. 3. Review: Consolidate the content you have learned. 4. Project practice: Apply what you have learned in actual projects. Such a structured learning plan can help you systematically master Python and achieve career goals.

Methods to learn Python efficiently within two hours include: 1. Review the basic knowledge and ensure that you are familiar with Python installation and basic syntax; 2. Understand the core concepts of Python, such as variables, lists, functions, etc.; 3. Master basic and advanced usage by using examples; 4. Learn common errors and debugging techniques; 5. Apply performance optimization and best practices, such as using list comprehensions and following the PEP8 style guide.

Python is suitable for beginners and data science, and C is suitable for system programming and game development. 1. Python is simple and easy to use, suitable for data science and web development. 2.C provides high performance and control, suitable for game development and system programming. The choice should be based on project needs and personal interests.

Python is more suitable for data science and rapid development, while C is more suitable for high performance and system programming. 1. Python syntax is concise and easy to learn, suitable for data processing and scientific computing. 2.C has complex syntax but excellent performance and is often used in game development and system programming.

It is feasible to invest two hours a day to learn Python. 1. Learn new knowledge: Learn new concepts in one hour, such as lists and dictionaries. 2. Practice and exercises: Use one hour to perform programming exercises, such as writing small programs. Through reasonable planning and perseverance, you can master the core concepts of Python in a short time.

Python is easier to learn and use, while C is more powerful but complex. 1. Python syntax is concise and suitable for beginners. Dynamic typing and automatic memory management make it easy to use, but may cause runtime errors. 2.C provides low-level control and advanced features, suitable for high-performance applications, but has a high learning threshold and requires manual memory and type safety management.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.