python可变参数函数二阶导数公式_python基础语法之可变参数,*,**(四)

*参数,**参数,以及传入*参数,**参数进行解包。

一、*参数,接受一个参数、或者接受数量不定参数的print_str函数

我们将print_str函数的最后一个参数修改为可变参数*seconddef print_str(first, *second):

print(first)

print(second)

此时我们再使用一个参数调用print_str函数:

print_str("hello")

输出结果:

hello

()

注:传入的第一个字符串参数"hello"打印出来了,而没有传入参数的*second则打印的是一个tuple对象的字符串表示形式,即一个括号"()" 。 注意:()表示含有0个元素的tuple对象

二、**参数

一个没有可变参数的函数被调用时,传入元组解包,此时会发生什么?

numbers_strings = ("1","2")

def print_str(first, second):

print first

print second

if __name__ == "__main__":

print_str(*numbers_strings)

输出结果:

1

2

此时我们发现print_str(*numbers_string)语句等同于print_str("1","2")语句。元组解包的过程中会将每一个元素依次放入到位置参数上!说明元组解包功能不是只能在可变参数中使用,在普通的函数上,照旧使用,解包功能是完全独立的一个功能!

说明:*参数,编写在不同的位置上,会具备不同的功能,当*参数出现在函数定义时,表示可变参数(元组参数),当*参数出现在函数调用时,则表示解包功能!

三、参数名称前有两个**,称作关键字参数,也称作字典参数def printStr(**anything):

print(anything)

printStr(first = 5, second = 100)

{'second': 100, 'first': 5}

关键字参数允许传入0个或多个包含参数名的参数,这些含有参数名的参数被称作关键字参数、也称字典参数,他们会在函数的内部自动组装为一个dict对象

(说明:在函数调用时,如果关键字参数有匹配的位置参数,则位置参数优先使用这些关键字参数,剩余所有未使用的参数才会在函数内组装成一个字典对象)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值