This section focuses on
Mastering the function and grammar of functions
Mastering the knowledge of scopes, global variables and local variables
I. Basic knowledge of functional programming
1. Basic definition
A function is to encapsulate a set of statements by a name (function name), and to execute this function, you only need to invoke the name of the functor.
2. Features
? (1) Reduce duplication of code
? (2) Make the program extensible
? (3) Make the program easier to maintain
3. Syntax definitions
def Sayhi (): # function name print("hello,i ' m nobody! ")
Two. Function parameters
1. Shape parametric
The memory unit is allocated only when it is called, and the allocated memory unit is freed at the end of the call. Therefore, the formal parameter is only valid inside the function. The parameter variable can no longer be used after the function call finishes returning the keynote function.
def Stu_register (name,age,course,country) Pass
2. Actual parameters
Can be constants, variables, expressions, functions, and so on, regardless of the amount of the arguments, they must have a definite value when making a function call to pass these values to the formal parameter. Therefore, you should use the assignment, input and other methods to get the parameters to determine the value.
Stu_register (' song Jiang ', ' a ',' computer ','CN' )
3. Default parameters
? When defining a function parameter, you can give the parameter a default value, which is called the default parameter. Specifies that the default parameter must be after the position parameter.
def stu_register (name,age,course,country="CN") Pass
4. Key parameters
? Normally, to pass parameters to the function in order, do not want to use the key parameters in order, just specify the parameter name (the argument name is specified as the key parameter), but remember a requirement is that the key parameters must be placed in the positional parameters (a positional order to determine the parameters of the corresponding relationship) after.
Stu_register (' song jiang ', 30,country='CN', course=' Computer ')
5. Non-fixed parameters
If your function is undefined, you can use non-fixed parameters when you are not sure how many arguments the user has passed.
def Stu_register (Name,age,*args): # *args incoming pass in tuple form
def Stu_register (Name,age,*args,**kwargs): # *kwargs incoming pass in dictionary form
Three. return value
? code outside the function to get the execution structure of the function, you can use the return statement in the function to return the result.
def stu_register (name,age,course='PY', country='CN' ): # registration Code if registration successful: return True Else: return False
? You can use a tuple type when returning multiple values
def stu_register (name,age,course='PY', country='CN' ): # registration Code if registration succeeds: return ( true,s_id) Else: return (False, Failure message)
Four. Global and local variables
A variable defined in a function is called a local variable, and a variable defined at the beginning of the program is called a global variable.
A global variable scope is the entire program, and the local variable scope is the function that defines the variable.
When a global variable has the same name as a local variable, the local variable functions within the function that defines the local variable, and in other places the global variable works.
Scope
Program design concept, usually, the name used in a program code is not always valid/available, but the name of the availability of the generation? The scope of this name is the range of the code.
Five. Nesting functions
Functions are defined in the body of another function, called nested functions.
Name ='Alex'defchange_name (): Name='Alex2' defchange_name2 (): Name='Alex3' Print("Third Layer Printing", name) change_name2 ()#calling the inner layer function Print("Second Layer printing", name) change_name ()Print("Outermost print", name)Six. Anonymous functions
? The anonymous function is the name of the specified letter that does not need to be displayed
Lambda x,y:x**y
Seven. higher-order functions
A variable can execute a function, and the argument of a function can accept a variable, and a function can accept another function as a parameter, which is called the higher order function.
? Just satisfy any one condition, immediate higher order function
def Add (x,y,f): return f (x) += Add (3,-6, ABS)Print(res ())
Python Learning Path five: Functional programming