python中函数使用非常普遍,在定义了函数之后,调用函数时需传递参数(针对有参数的函数),传递参数的方法有几种,可单独使用也可混合使用,接下来跟大家分享一下,以下内容是由微蓝经验网用户发布python函数中定义参数传递参数的四种方法,你可以的,希望对于用户有一定帮助,为朋友进行解决疑惑,如若想了解更多相关内容,可以向底部移动了解更多与本教程文章相关解决经验方法!

python 3.6.4;jupyter notebook;windows 7
python函数中,位置参数是指直接放在函数名后括号中的参数,用逗号隔开,我们定义一个有2个位置参数的函数,代码示例如下:
def make_pizza(size,topping):
print("\nMaking a " + str(size) + "-inch pizza with " + topping)

接着向函数传递2个参数,以调用函数,代码示例如下:
make_pizza(10,"durian")

python中,关键字参数是指用等号赋值的参数,如果关键字形参有默认值,则调用函数时未提供参数的情况下使用默认值;如果调用函数时提供了实参,则实参会代替函数定义里的默认值,代码示例如下:
def make_pizza(size=10,topping="durian"):
print("\nMaking a " + str(size) + "-inch pizza with " + topping)

接着,不传递参数直接调用函数,输出时参数值使用函数定义时的默认值,代码示例如下:
make_pizza()

然后,向函数传递2个参数以调用函数,输出时参数值用调用函数时提供的实参,代码示例如下:
make_pizza(12,"cheese")

位置参数个数跟位置都必须一样,如果想要灵活使用任意数量的参数,定义函数时可在形参名前加一个星号,代码示例如下:
def make_pizza(*toppings):
print("\nMaking a 10-inch with the following toppings:" )
for topping in toppings:
print("-" + topping)

接着,向函数传递2个参数以调用函数,虽然定义函数时形参看起来只有1个,但实际上调用时可传递任意数量的实参,代码示例如下:
make_pizza("durian","cheese")

格式如“*形参名”的参数虽可提供任意数量的参数,但是以元组形式存在,如果需要提供任意数量的键值对类型的参数,可在形参名前面加两个星号,代码示例如下:
def make_pizza(**toppings):
print("\nMaking a 10-inch with the following toppings:" )
for key,value in toppings,items():
print(key + ":" + value)

接着,向函数传递2个关键字实参以调用函数,虽然定义函数时形参看起来只有1个,但实际上调用时可传递任意数量的关键字实参,代码示例如下:
make_pizza(topping1="durian",topping2="cheese")

以上四种参数可以单独使用,也可以混合使用,混合使用时,位置参数必须放在关键字参数之前,关键字参数必须放在带星号的可变参数之前,带一个星的可变参数必须放在带两个星的可变关键字参数之前,代码示例如下:
def make_pizza(size,origin="durian",*fruits,**vegetables):
toppings = []
toppings,append(origin)
for fruit in fruits:
toppings,append(fruit)
for value in vegetables,values():
toppings,append(value)
print("\nMaking a " + str(size) + "-inch pizza with the following toppings:" )
print(toppings)

上述函数对应的代码解析如图。

接着向函数传递参数以调用函数,需要注意的是,调用函数时,系统先解读第一个参数为位置参数,第二个参数为关键字参数,剩下的单独参数会被当成一个元组存储,其它的关键字参数会被当成一个字典存储,make_pizza(12,"durian","pineapple","peach",vegetable1="onion",vegtalbe2="green pepper")

1、有问题可点击提问交流~2、如果觉得经验不错,欢迎点赞、投票、收藏以及分享哦~
以上经验结束,与python函数中定义参数传递参数的四种方法,你可以的,有关的经验教程内容,若解决问题请点击“有用”,没有解决请向下浏览“相关”内容或点击“无用”平台积极改进优质原创的内容文章,点击下方工具分享给更多的朋友吧!





微蓝网部分素材(图片、视频、音频等)来自于网络,不代表本站立场,以上素材或内容仅代表作者个人观点,因此产生相关问题作者本人负责,本站将不承担任何法律责任! 如有问题请进行侵权投诉
© 2025 VLPOS.com 版权所有 微蓝网 ICP备案号:黑ICP备20003952号-1
黑公网安备 23012602000120号