python函数参数定义不合法_下列哪种函式参数定义不合法?

python 函数参数定义有四类:

1,必选参数:调用函数时候必须赋值的参数。

a,须以正确的顺序传入函数

b,调用时的数量必须和声明时的一样 def exa(x):

return x

#b作为参数进入函数体内

b=1

print exa(b) #1

print exa()

#错误 TypeError: exa() takes exactly 1 argument (0 given)

2,默认参数:初始已经有值,在调用时未更改使用默认值。 def exa(x=1)

return x

print exa() # 1

print exa(2) # 2

3,不定长参数:不确定参数个数,会分配给带“*”参数 def exa(*x)

return x

print exa(1,2,3,4,5,6,6)

# (1,2,3,4,5,6,6)

4,关键字参数:使用关键字参数来确定传入的参数值。调用函数时带关键字后,顺序不影响。 def exa(x,y,z):

return x,y,z

print exa(y=2,x=3,z=2) #(3, 2, 2)

tips 定义时参数带*符号的两种形式与含义 *x

#不定长的元组参数,参数格式化存储在一个元组中,长度没有限制。

#必须位于普通参数和默认参数之后。

def exa(*x):

return x

print exa('ai', 'ni', 'ya')

#('ai', 'ni', 'ya')

**x

#不定长的字典参数

#必须位于参数列表的最后面。

def exa(**x):

return x

print exa(ai="爱",ni="你")

#{'ai': '爱', 'ni': '你'}

python3中,不定长元组参数可以在默认参数前,谁在前谁优先拿到值。但python2中 NO! def exa(*x,y=1):

return y,x

print (exa(2,1,3,4))

# (1, (2, 1, 3, 4))

def exa(y=1,*x):

return y,x

print (exa(2,1,3,4))

#(2, (1, 3, 4))

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值