python参数类型定义_Python的参数类型

形式参数(形参)

在界定涵数环节界定的主要参数称作形参,等同于用户标识符

位置形参(一般形参)

位置形参:在函数定义环节,依照从左往右的次序界定

特性:务必被传值,且实参与形参依照次序一一对应,多一个少一个都不好!

def func():

pass

默认设置形参

默认设置形参:在函数定义环节,就早已被取值的主要参数

def func(x, y=1):

pass

一般搜集形参

一般搜集形参:用以接受空出一部分的位置实参,外溢的一部分会被储存成元组种类,随后取值给后边的形参接受

def func(x, y, *args):

print(x, y)

print(args)

func(1, 2, 3, 4, 5, 6, 7, 78, 8, 89)

*后的形参名一般界定为args,为约定成俗

关键字搜集形参

关键字搜集形参:用以接受空出一部分的关键字实参,外溢的一部分会被**储存成词典种类,随后取值给**后边的形参接受

def func(x, y, **kwargs):

print(x, y)

print(kwargs)

func(a=1, b=2, c=3, x=4, y=5, z=6)

**后的形参名一般界定为kwargs,为约定成俗

取名关键字形参

取名关键字形参:在函数定义时,*后界定的主要参数,便是取名关键字主要参数

特性:取名关键字实参务必依照key=value的方式为其传参

# y=2是含有初始值的取名关键字形参,并不是是默认设置形参,因此 能够置放在z的前边

def func(x, *, y=2, z):

print(x)

# 在其中y和z便是取名关键字形参

print(y, z)

func(1, z=3)

具体主要参数(实参)

在调用函数环节界定的主要参数称作实参,等同于变量类型

位置实参(一般实参)

位置实参:在调用函数环节,依照从左往右的次序先后传到的值

特性:实参与形参依照次序一一对应

def func(x, y):

print(x y)

func(1, 2)

关键字实参

关键字实参:在调用函数环节,依照key=value的方式传到的值

特性:特定给实际的某一形参传值,可以不依照次序传值

def func(x, y):

print(x y)

func(y=1, x=2)

func(x=2, y=1)

*和**的应用

*和**在函数定义处应用

*:把不必要的一般实参装包成元组

**:把不必要的关键字实参装包成词典

*和**在调用函数处应用

*:对元组或目录开展解压工具

**:对词典开展解压工具

*和**另外在函数定义处和启用处应用

先解压工具变为位置形参

再将不必要的位置形参装包

# 实例一

def func(x, y, z):

print(x, y, z)

func(*[1, 2, 3])

func(*(1, 2, 3))

func(**{"x": 1, "y": 2, "z": 3})

# 案例二

def func(x, y, z, *args):

print(x, y, z)

print(args)

func(5, 6, 7, *[1, 2, 3])

形参与实参的关联

在启用环节,实参会关联给形参

这类关联关联只有在涵数身体应用

实参与形参的关联关联只在调用函数时起效,调用函数完毕后消除关联关联

汇总

位置实参与关键字实参混和应用时,位置实参务必放到关键字实参前边(英语的语法要求)

位置形参与默认设置形参混和应用时,位置形参务必在默认设置形参的左侧

不可以为同一形参反复传值

默认设置形参相匹配的实参可传并不传

*args与**kwargs混和应用时,*args务必写在**kwargs的前边,不然会报拼写错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值