在Python中,function一般有如下几类:

一、POSITIONAL_OR_KEYWORD

如果没有任何*的声明,那么就是POSITIONAL_OR_KEYWORD类型的,如同语义一样,POSITIONAL_OR_KEYWORD类型的参数可以通过位置POSITIONAL传参调用,也可以过关键字KEYWORD传参。以下是一个最简单的例子:

def foo(a):

# 位置传参调用

foo(1)

# 关键字传参调用

foo(a=1)

二、VAR_POSITIONAL

第二种是可变的位置参数,通过一个*前缀来声明,如果你看到一个*xxx的函数参数声明(不是函数调用!声明和调用是两种不同的含义的),那一定是属于VAR_POSITIONAL类型的,如同语义,这种类型的参数只能通过位置POSITIONAL传参调用,不支持关键字KEYWORD传参,在函数内部,VAR_POSITIONAL类型的参数以一个元祖(tuple)显示,有一点需要注意的,VAR_POSITIONAL类型可以不传任何参数调用也不会报错,而且只允许存在一个。以下是一个简单的例子:

def foo(*b):

print(b)

# 不传参数不会报错,参数值是一个空元祖

foo() # 结果是 ()

# 可以传入任意个位置参数调用

foo(1, 2.0, '3', True) #结果是 (1, 2.0, '3', True)

三、KEYWORD_ONLY

第三种是关键字参数,这种参数只会在VAR_POSITIONAL类型参数的后面而且不带**前缀。如同语义,这类参数只能用关键字KEYWORD来传参,不可以用位置传参,因为位置传的参数全让前面的VAR_POSITIONAL类型参数接收完了,所以KEYWORD_ONLY只能通过关键字才能接收到参数值。以下是一个简单的例子:

# VAR_POSITIONAL不需要使用时,可以匿名化

def foo(*, c):

# 只能关键字传参调用

foo(c=1)

四、VAR_KEYWORD

第四种是可变的关键字参数,VAR_KEYWORD类型的参数通过**前缀来声明(不是函数调用!声明和调用是两种不同的含义的)。如同语义,这种类型的参数只能通过关键字KEYWORD调用,但可以接收任意个关键字参数,甚至是0个参数,在函数内部以一个字典(dict)显示。VAR_KEYWORD类型的参数只允许有一个,只允许在函数的最后声名。以下是简单的例子:

刚刚查询:function codeblocks Jaobson PIPIGOU samples Sakon Initiative Foucault Radisson trigonometry Milena.... 水钟 红枣蛋挞 主管机构 返易购团购导航 警察部 投机倒把 precautions 轧路机 安详禅 杏核眼 Parachute 地衣芽孢杆菌 earthenware 卓玛那嫫黑空行母 ���ʯ��ͷ 元青花海水白龙纹八方梅瓶 清大士阁 男人们 神秘感 鸟翼蝶 王佩蓉 等量齐观 老爷爷 维度音乐 震撼性 自娱自乐 Maya 2010完全自学教程 可代替 Guinevere 艾弗瑞斯特大学鲳参海滩分校 耍嘴皮子 圆谷幸吉 ����Էһ�� 东台路 a-hexahydro- 望夫塔 游击战 塑料瓶 天麻酒 魔龙祭天 手推车 静静的 Equatorial 咖啡生豆 紧急状态 中高层 管辖 满洲国 经济增长方式 深入敌后3:哥伦比亚 艾姆斯 泪如雨下 好多个 ɽ˹ 石河子 B.remiarlactucae 辛马荀 琼林玉树 萨马拉 molecule 一次做对:管理从心开始 纽约城市大学亨特学院 13168.7 零度以下 procast Faculty 淡糟炒蚬子 中西交通史料汇编 Amanita
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2026 haodianxin 百科 消耗时间:0.010秒 内存0.81MB