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)
<code class="language-python">def greet(first_name, last_name): print("欢迎,", first_name, last_name) greet("张三", "李四") # 输出:欢迎, 张三 李四</code>
<code class="language-python">def calculate_sum(numbers): total = 0 for number in numbers: total += number print(total) scores = [80, 90, 75] calculate_sum(scores) # 输出:245</code>
<.> 3. Keyword arguments
*
The parameter assignment can be passed without passing the parameters when calling the function.
<code class="language-python">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</code>
<.> 4. default parameter (default arguments)
The parameter has the default value, and the parameter can be omitted when calling the function.
<code class="language-python">def greet(name, greeting="你好"): print(greeting, name) greet(name="王五", greeting="早上好") # 输出:早上好 王五 greet(name="赵六") # 输出:你好 赵六</code>
Allows to pass any number of keyword parameters, use
prefix indicates, and the parameters are stored in the form of dictionary.
<code class="language-python">def login(username, password="password123"): print(username, password) login("admin") # 输出:admin password123 login("user", "mypassword") # 输出:user mypassword</code>
When calling the function, the parameter name must be specified, and the location parameters and keywords are used in the
in the function signature.
**
<code class="language-python">def user_info(**kwargs): print(kwargs) user_info(name="孙七", age=30, city="北京") # 输出:{'name': '孙七', 'age': 30, 'city': '北京'}</code>
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.
*
<code class="language-python">def add(*, num1, num2): return num1 + num2 print(add(num1=100, num2=200)) # 输出:300 # print(add(100, 200)) # 报错:TypeError</code>
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()
<code class="language-python">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}</code>
<.> 10. Local variables
None
Variables defined in the function or code block.
<code class="language-python">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]</code>
<.> 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.
<code class="language-python">global_var = 100 def access_global(): print(global_var) access_global() # 输出:100</code>
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!