


Detailed explanation of function parameter passing in python
1. Parameter input rules
Variable parameters allow 0 or any number of parameters to be passed in, which will be automatically assembled into a tuple when the function is called;
Keyword parameters allow 0 or any number of parameters to be passed in, which will be automatically assembled into a dict when the function is called;
1. Pass in variable parameters:
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
The functions defined above are used as follows:
Pass in multiple parameters,
calc(1, 2, 3, 4) 30 #函数返回值
Pass in a list,
nums = [1, 2, 3] calc(*nums) # 通过 * 将list中的元素作为可变参数传入函数 14 # 函数返回值
2. Pass in keyword parameters:
>>> def person(name, age, **kw): ... print('name: ', name, 'age: ', age, 'other: ', kw) ... >>> >>> person('luhc', 24, city='Guangzhou') name: luhc age: 24 other: {'city': 'Guangzhou'}
Similarly, a predefined dict can be passed into the above function as a parameter:
>>> info = {'city': 'Guangzhou', 'job': 'engineer'} >>> >>> person('luhc', 24, **info) name: luhc age: 24 other: {'city': 'Guangzhou', 'job': 'engineer'}
Note: The function person obtains a copy of the parameter info. Modification within the function will not affect the value of info
3. In keyword parameters, you can limit the name of keyword parameters:
# 通过 * 分割,以指定关键字参数名 >>> def person(name, age, *, city, job): ... print('name: ', name, 'age: ', age, 'city: ', city, 'job: ', job) ... >>> >>> person('luhc', 24, city='Guangzhou', job='engineer') name: luhc age: 24 city: Guangzhou job: engineer # 如果传入参数中,存在参数名不在定义的范围内,将抛出异常 >>> person('luhc', 24, city='Guangzhou', jobs='engineer') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: person() got an unexpected keyword argument 'jobs' >>>
In addition, if variable parameters have been specified in the function, * can be omitted, as follows:
# 省略了用 * 作为分割,指定关键字参数名 >>> def person(name, age, *args, city, job): ... print('name: ', name, 'age: ', age, 'args: ', args, 'city: ', city, 'job: ', job) ... >>> >>> person('luhc', 24, 'a', 'b', city='Guangz', job='engineer') name: luhc age: 24 args: ('a', 'b') city: Guangz job: engineer >>> # 同样,如果传入了关键字参数未指定的参数名,则抛出异常 >>> person('luhc', 24, 'a', 'b', city='Guangz', job='engineer', test='a') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: person() got an unexpected keyword argument 'test' >>>
2. Parameter combination use:
The order of parameter definition must be: required parameters, default parameters, variable parameters, named keyword parameters and keyword parameters
def f1(a, b, c=0, *args, **kw): print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw) def f2(a, b, c=0, *, d, **kw): print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)
The above is all the content introduced to you in this article. I hope it will be helpful to everyone in understanding the passing of function parameters in Python

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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

Getting started with Python: Hourglass Graphic Drawing and Input Verification This article will solve the variable definition problem encountered by a Python novice in the hourglass Graphic Drawing Program. Code...

Alternative usage of Python parameter annotations In Python programming, parameter annotations are a very useful function that can help developers better understand and use functions...

How do Python scripts clear output to cursor position at a specific location? When writing Python scripts, it is common to clear the previous output to the cursor position...

Choice of Python Cross-platform desktop application development library Many Python developers want to develop desktop applications that can run on both Windows and Linux systems...

Exploration of cracking verification codes using Python In daily network interactions, verification codes are a common security mechanism to prevent malicious manipulation of automated programs...

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...
