python中函数传参的几种实现方式
更新时间:2025年04月17日 09:08:12 作者:XuMeng_first
这篇文章主要介绍了python中函数传参的几种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1.位置传参
实参与形参的位置数量一致
def foo(a,b): #形参
print(a)
if __name__ == '__main__':
foo(1,2) #实参
2.关键字传参
关键字传参是指使用形参的名字来确定输入的参数。
通过该方式指定实参时,不需要与形参位置一致,只要参数名称写正确即可
def foo(a,b):
print(f"a是{a},b是{b}")
if __name__ == '__main__':
foo(b=1,a=2)
#结果
a是2,b是13.默认传参
调用函数时,如果没有指定某个参数将抛出异常,即在定义函数时,直接指定形式参数的默认值。
这样,当没有传入参数时,则直接使用定义函数时设置的默认值。
语法格式如下:
def foo(a,b,c="我是默认参数"):
print(f"a是:{a},b是:{b},c是:{c}")
if __name__ == '__main__':
foo(b=1,a=2)4.可变参数传参(*args,**kwargs)
--也可以叫不定长参数
- 1.*args可以接收任意长度的位置参数
- 2.**kwargs可以接收任意长度的关键字参数
- 3.*args和**kwargs同事使用时,*args(位置参数)在前,**kwargs(关键字)参数在后。
形参为可变参数
def foo(*args, **kwargs):
print("Positional arguments:")
print(type(args))
for arg in args:
print(arg)
print("\nKeyword arguments:")
print(type(kwargs))
for key, value in kwargs.items():
print(key + ": " + str(value))
if __name__ == '__main__':
a = foo(1,2,3,4,5,name = "tom",age = 18)
help(foo())实参为可变参数
def foo(a,b,name,age):
print(a,b,name,age)
if __name__ == '__main__':
a = [1,2]
b = {"name":"tom","age":18}
c = foo(*a,**b)
#结果
1 2 tom 18实参和形参都为可变参数
def foo(*args, **kwargs):
print("Positional arguments:")
print(type(args))
for arg in args:
print(arg)
print("\nKeyword arguments:")
print(type(kwargs))
for key, value in kwargs.items():
print(key + ": " + str(value))
if __name__ == '__main__':
a = [1,2,3,4,5]
b = {"name":"tom","age":18}
a = foo(*a,**b)总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python mxnet包成功安装详细指南(避免踩坑+报错)
这篇文章主要给大家介绍了关于Python mxnet包成功安装的相关资料,包括创建Python环境、激活环境、安装MXNet及其依赖项,以及在PythonCharm中配置Python解释器,文中通过图文介绍的非常详细,需要的朋友可以参考下2024-12-12
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
这篇文章主要介绍了解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-07-07
pyecharts绘制时间轮播图柱形图+饼图+玫瑰图+折线图
这篇文章主要介绍了pyecharts绘制时间轮播图柱形图+饼图+玫瑰图+折线图,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下2022-06-06


最新评论