标签:ict on() friend The *args int pre test type
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。
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 <type 'int'>
(2, 'a', 'b', 'c') <type 'tuple'>
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'} <type 'dict'>
def hi():
return 'hi friends'
def function(func):
print 'just test'
print func()
function(hi)
function()
函数将hi
函数作为参数接收,输出结果如下:
just test
hi friends
装饰器是一个返回函数的高阶函数。
装饰器常见用法:
标签:ict on() friend The *args int pre test type
原文地址:https://www.cnblogs.com/mark-zh/p/11384546.html