首页 > 代码库 > Python 函数的参数
Python 函数的参数
# coding=gbk# python 函数的参数:包括必选参数,默认参数,可变参数,关键字参数# 1 必选参数,就是每次必选要输入的参数def abs1(num): #计算绝对值 if isinstance(num,[int,float]): return abs(num) else : raise TypeError ("num is not the right type")a = abs(1)print (a)
# 2 默认参数,就是每次如果不输入,则使用系统默认值def sqrt_n(x,n=2): #计算n次方 s=1 while n>0: s=s*x n=n-1 return sprint (sqrt_n(5))print (sqrt_n(5,3))# 当有多高默认参数的时候,可以再调用的时候指定某个参数的值def student_enroll(name,age,city="beijing",gender=‘male‘): return name,age,city,genderstudent1 = student_enroll("Jim",18)student2 = student_enroll("Obama",18,gender="female")print ("st1 is: ",student1,‘\nst2 is: ‘,student2)
# 3 可变参数,传入的参数的个数是变的,他们调用时自动组装为一个tuple 举例说明def sum2(*numbers): #计算几个数的和 sum2=0 for i in numbers: sum2=sum2+i return sum2a=(1,5,2,6,2) #这里使用list同样有效,方法一样print (sum2(*a)) #此处输入的是tuple,所以a的前面加*表示可变参数,实际可以这么写print (sum2(1,5,2,6,2))# 或者print (sum2(a[0],a[1],a[2],a[3],a[4]))
# 4 关键字参数,允许传入0个或者任意个含参数名的参数,这些关键字参数自动组装为一个dictdef matriculate(name,age,**kw): #此处的kw是keyword的缩写,也可以用其他字符替代 return(name,age,kw) s1 = matriculate("tom",18)s2 = matriculate("Jack",18,city = ‘beijing‘,gender = ‘male‘)print (‘s1 is: ‘,s1,‘\n‘,‘s2 is:‘,s2)#也可以提前定义好关键字参数kw(这里用sim代替),然后直接用如sim={‘city‘:‘beijing‘,‘job‘:‘teacher‘,‘gender‘:‘male‘}s3= matriculate(‘Hu‘,18,**sim)print (s3)
#网上的例子#最神奇的是通过一个tuple和dict,你也可以调用该函数:def func(a, b, c=0, *args, **kw): print (‘a =‘, a, ‘b =‘, b, ‘c =‘, c, ‘args =‘, args, ‘kw =‘, kw)args = (1, 2, 3, 4)kw = {‘x‘: 99}func(*args, **kw)#所以,对于任意函数,都可以通过类似func(*args, **kw)的形式调用它
# 注意‘‘‘默认参数一定要用不可变对象,如l[]=none,否则运行会有逻辑错误*args 是可变参数,args接收的是一次tuple()**kw 是关键字参数,接收的是一个dict{}使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法‘‘‘#部分参考自网络,特此声明
Python 函数的参数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。