概述
函数的参数
位置参数
def power(x, n):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
power(x, n)函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序依次赋值给参数x和n。
默认参数
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
power(x, n)函数有两个参数:x和n,如果想在不传入n值时,默认计算x的平方,此时可以将n设为默认值2。
可变参数(*args)
def function(f_arg, *args):
print f_arg, type(f_arg)
print args, type(args)
nums = ['a','b','c']
function(1,2,*nums)
定义可变参数时,需要在参数前面加一个*号,可变参数的个数是可变的。在函数内部,参数*args接收到的是一个tuple。输出结果如下:
1
(2, 'a', 'b', 'c')
关键字参数(**kwargs)
def person(name,age,**kwargs):
print 'name:',name,'age:',age,'other:',kwargs,type(kwargs)
person('mark',30,city='shanghai')
**kwargs允许将不定长度的键值对,作为参数传递给一个函数,关键字参数在函数内部自动组装为一个dict。输出结果如下:
name: mark age: 30 other: {'city': 'shanghai'}
将函数作为参数传递给另一个函数
def hi():
return 'hi friends'
def function(func):
print 'just test'
print func()
function(hi)
function()函数将hi函数作为参数接收,输出结果如下:
just test
hi friends
装饰器
装饰器是一个返回函数的高阶函数。
装饰器常见用法:
打印日志
计算时间
带参数的函数装饰器
不带参数的类装饰器
带参数的类装饰器
最后
以上就是苗条项链为你收集整理的python装饰器传参与不传参_python装饰器和函数传参的全部内容,希望文章能够帮你解决python装饰器传参与不传参_python装饰器和函数传参所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复