一、函数的定义
def ():
python 的函数可以说比较随意了:
1.参数没有类型,可以传递任何的类型给函数,由函数内容定义函数接口。
如果传递的参数类型不是函数想要的,那么函数可以抛出异常。
2.函数没有返回值类型,return可以返回任意类型。
二、函数的默认值
1.给一个或多个参数设定默认值,这样设定的函数在调用时可以使用更少的
参数,但是多个参数部分设置默认值,设置默认值的必须放在后面。
例如:
def fun(com='Yes or not ,please!'):
while True:
ok=raw_input(com)
if ok in ('y','yes'):return 1;
if ok in ('n','no'):return -1;
调用fun可以用fun()也可以用fun("...")
>>>fun()
Yes or not ,please!y
1
>>>fun("Do you realy want to quit? ")
Do you realy want to quit? y
1
三、函数关键字
函数可以通过关键字形式调用:keyword=value
例如:
def fun(aaa,bbb='bbb',ccc='ccc'):
print("this is aaa :", aaa)
print("this is bbb :", bbb)
print("this is ccc :", ccc)
可以用以下方式调用:
fun(100);
fun(100,200,300)
fun(100,ccc="300")
fun(aaa=100,ccc=300)
四、函数的可变参数列表
def func(x,y,*args):
...
return
一个最不常用的选择是可以让函数调用可变个数的
参数,在可变参数之前可以有0至多个普通的参数
def test_fun(a1,a2,*a3):
print "a1:",a1
print "a2:",a2
print "a3:",a3
if __name__ == "__main__":
test_fun(111,222,333,"333","aaa")
#打印:
a1: 111
a2: 222
a3: (333, '333', 'aaa')
test_fun(111,222)
#打印
a1: 111
a2: 222
a3: ()
五、函数可变参数字典
def test_fun(a1,a2,**a3):
print "a1:",a1
print "a2:",a2
print "a3:",a3
if __name__ == "__main__":
test_fun(111,"222",t1=111,t2="222")
#打印:
a1: 111
a2: 222
a3: {'t2': '222', 't1': 111}