This article will explain the different types of functional parameters in Python, including position parameters, variable length parameters, keyword parameters, default parameters, keywords variable parameters, and keywords for only parameters. In addition, we will also explore related concepts such as global variables, local variables, nested functions, and variable default parameters.
<.> 1. Position parameter (Positive Arguments)
The value of the position parameters is assigned to the parameter in order in order.
<.> 2. variable long parameter (variable-specific arguments)
def greet(first_name, last_name): print("欢迎,", first_name, last_name) greet("张三", "李四") # 输出:欢迎, 张三 李四
def calculate_sum(numbers): total = 0 for number in numbers: total += number print(total) scores = [80, 90, 75] calculate_sum(scores) # 输出:245
<.> 3. Keyword arguments
*
The parameter assignment can be passed without passing the parameters when calling the function.
def calculate_sum(*numbers): total = 0 for number in numbers: total += number print(total) calculate_sum(10, 20, 30) # 输出:60 calculate_sum(5, 15, 25, 35) # 输出:80 calculate_sum() # 输出:0
<.> 4. default parameter (default arguments)
The parameter has the default value, and the parameter can be omitted when calling the function.
def greet(name, greeting="你好"): print(greeting, name) greet(name="王五", greeting="早上好") # 输出:早上好 王五 greet(name="赵六") # 输出:你好 赵六
Allows to pass any number of keyword parameters, use
prefix indicates, and the parameters are stored in the form of dictionary.
def login(username, password="password123"): print(username, password) login("admin") # 输出:admin password123 login("user", "mypassword") # 输出:user mypassword
When calling the function, the parameter name must be specified, and the location parameters and keywords are used in the
in the function signature.
**
def user_info(**kwargs): print(kwargs) user_info(name="孙七", age=30, city="北京") # 输出:{'name': '孙七', 'age': 30, 'city': '北京'}
Function can create and return the dictionary object. The function combines multiple list elements into a meta group, and the
function converts the tuples into a dictionary.
*
def add(*, num1, num2): return num1 + num2 print(add(num1=100, num2=200)) # 输出:300 # print(add(100, 200)) # 报错:TypeError
When using a list or dictionary as the default parameter, it should be noted that it only initializes it once. If the default parameter is modified in the function call, the modified value will be retained in subsequent calls. It is recommended to use as the default value and create a new variable object within the function.
zip()
<.> 9. Global variables dict()
def create_player_stats(names, scores): return dict(zip(names, scores)) names = ["A", "B", "C"] scores = [10, 20, 30] stats = create_player_stats(names, scores) print(stats) # 输出:{'A': 10, 'B': 20, 'C': 30}
<.> 10. Local variables
None
Variables defined in the function or code block.
def add_to_list(number, my_list=None): if my_list is None: my_list = [] my_list.append(number) return my_list print(add_to_list(10)) # 输出:[10] print(add_to_list(20)) # 输出:[20]
<.> 11. The nested function (inner function)
Functions defined in other functions. Internal functions can access variables of external functions. Using <字> Keywords can modify variables of external functions.
global_var = 100 def access_global(): print(global_var) access_global() # 输出:100
The above is the detailed content of Day - Types of arguments in Python. For more information, please follow other related articles on the PHP Chinese website!