python函数中的参数_Python函数中的参数(二)

本文详细介绍了Python函数中各种参数的使用方法,包括位置参数、关键字参数、默认参数、可变参数等,并通过示例展示了参数匹配的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当使用混合特定的参数匹配模型时,Python将会遵循以下有关顺序的法则:

1、在函数调用中,参数必须以这样的顺序出现:任何位置参数(Value)、任何关键字参数(name = Value)和*sequence形式的组合,最后是**dict形式

2、在函数头部,参数必须以如下的顺序出现:任何一般参数、任何默认参数、如果有的话,是*name(在Python3.0中是*)的形式,然后是任何name或name=value keyword-only参数,最后是**name形式

Python内部是使用以下的步骤来在赋值前进行参数匹配的:

1、通过位置分配非关键字参数

2、通过匹配变量名分配关键字参数

3、其他额外的非关键字参数分配到*name元组中

4、其他额外的关键字参数分配到**name字典中

5、用默认值分配给在头部未得到分配的参数

例子:

1、不含有特殊匹配法的函数,会按照位置从左至右的匹配变量名

def f(a, b, c):

print(a, b, c)

f(1,2,3)

#输出结果

1 2 3

2、关键字参数的匹配

def f(a, b, c):

print(a, b, c)

f(c = 3, b = 2, a = 1)

#输出结果

1 2 3

3、默认参数

def f(a, b = 2, c = 3):

print(a, b, c)

f(1)

#输出结果

1 2 3

def f(a, b = 2, c = 3):

print(a, b, c)

f(1,4)

输出结果:

1 4 3

f(1,c = 6)

输出结果:

1 2 6

4、关键字参数和默认参数的混合

def func(spam, eggs, toast = 0, ham = 0):

print((spam,eggs,toast,ham))

func(1,2)

#输出结果

(1, 2, 0, 0)

func(1, ham = 1, eggs = 0)

#输出结果

(1, 0, 0, 1)

func(spam = 1, eggs = 0)

#输出结果

(1, 0, 0, 0)

func(1,2,3,4)

#输出结果

(1, 2, 3, 4)

5、任意参数的实例

def func(*args):

print("#输出结果")

print(args)

func()

#输出结果

()

func(1)

#输出结果

(1,)

func(1,2,3,4)

#输出结果

(1, 2, 3, 4)

def f(**args):

print("#输出结果")

print(args)

f()

#输出结果

{}

f(a = 1, b = 2)

#输出结果

{'a': 1, 'b': 2}

6、混合参数实例

def f(a, *pargs, **kargs):

print("#输出结果:")

print(a, pargs, kargs)

f(1, 2, 3, x = 1, y = 2)

#输出结果:

1 (2, 3) {'y': 2, 'x': 1}

Python 函数中,参数是传值,还是传引用?

在 C/C++ 中,传值和传引用是函数参数传递的两种方式,在Python中参数是如何传递的?回答这个问题前,不如先来看两段代码. 代码段1: def foo(arg): arg = 2 print(a ...

python函数中的参数类型

python函数中的参数 动态获取函数的参数 python的函数类型详解

在python函数中默认参数的一些坑

一.默认参数 python为了简化函数的调用,提供了默认参数机制: 这样在调用pow函数时,就可以省略最后一个参数不写: 在定义有默认参数的函数时,需要注意以下: 必选参数必须在前面,默认参数在后: ...

Python函数中的参数(一)

函数传递参数时的简要关键点: 1.参数的传递是通过自动将对象赋值给本地变量名来实现的.函数参数在实际中只是Python赋值的一个实例.因为引用是以指针的形式实现的,所有的参数实际上都是通过指针进行传递 ...

python函数中的参数(关键字参数,默认参数,位置参数,不定长参数)

默认参数:定义函数的时候给定变量一个默认值. def num(age=1): 位置参数:调用函数的时候根据定义函数时的形参位置和实参位置进行引用. 关键字参数:如果定义的函数中含有关键字参数,调用函数 ...

Python函数中的参数

形参:形式参数 实参:实际参数 1.普通参数:严格按照顺序将实参赋值给形参. 2.默认参数:必须放置在参数列表的最后. 3.指定参数:将实参赋值给制定参数. 4.动态参数: *:默认将传入的参数,全部 ...

Python函数中的可变参数

在Python函数中,还可以定义可变参数. 如:给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……. 要定义出这个函数,我们必须确定输入的参数.由于参数个数不确定,我们首先想到可以把 ...

python函数中把列表(list)当参数时的"入坑"与"出坑"

在Python函数中,传递的参数如果默认有一个为 列表(list),那么就要注意了,此处有坑!! 入坑 def f(x,li=[]): for i in range(x): li.append(i*i ...

Python函数中参数类型

在学习Python函数的时候,函数本身的定义和调用并不是很复杂,但是函数的参数类型和用法的确有些复杂.在此做一个小结,加深理解. Python参数的定义 负责给函数提供一些必要的数据或信息,以保证函数 ...

随机推荐

知识积累:关于Memory

仅清除页面缓存(PageCache)# sync; echo 1 > /proc/sys/vm/drop_caches清除目录项和inode# sync; echo 2 > /proc/s ...

hdu 4686 Arc of Dream(矩阵快速幂乘法)

Problem Description An Arc of Dream is a curve defined by following function: where a0 = A0 ai = ai- ...

mongodb use db show dbs

mongodb 常用命令: 在dbs间切换用 use xxxdb 之后再操作就是只针对 xxxdb了: show dbs显示全部数据库 show collections 显示全部集合 mongodb数 ...

EasyUI - Tooltip 提示控件

第一种: 效果: html代码: 不需要js代码,显示的是title中的内容.

第二种: 效果: html ...

Unity编程标准导引-3.2 MonoBehavior 组件父类重构

本文为博主原创文章,欢迎转载.请保留博主链接:http://blog.youkuaiyun.com/andrewfan 3.2MonoBehavior 组件父类重构 为了让我们的组件类用起来更方便,我们将上一节的 ...

Week1绪论--抽象数据类型

一.作业题目 1.构造有理数T,元素e1,e2分别被赋以分子.分母值 2.销毁有理数T 3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母. 4.将有理数T的 ...

【C++】vector用法详解

转自:https://blog.youkuaiyun.com/fanyun_01/article/details/56842637#commentBox 一.简介 C++ vector类为内置数组提供了一种替代表 ...

(后端)SQL Server日期时间函数

转自博客园: 1.获取当前日期GetDate getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间.其语法格式为getdate().返回值舍入到 ...

如何让两个div并排显示

正常情况下两个div都是上下排版的,那么怎么让它们并排显示呢? 方法一:都左浮动float:left; 方法二:一个左浮动,一个右浮动 方法三:给两个div都设置display:inline属性,但两 ...

CRUD是什么?数据结构、增查删改

http://blog.youkuaiyun.com/penginpha/article/details/6920444 CRUD是指在做计算处理时的增加(Create).查询(Retrieve)(重新得到数据) ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值