7.函数def

来源:互联网 发布:mac os 重装系统 u盘 编辑:程序博客网 时间:2024/05/16 04:15

test.py中的内容:

#coding:utf-8     #支持中文#函数的声明/定义def func1():    #无参数    print "爽歪歪"   def func2(name):  #有参数    print (name + "我爱你")def add1(num1,num2):  #有参数    print num1+num2def add2(num1,num2):   #有返回值    return num1+num2#函数的调用func1()   func2('小甲鱼')add1(10,20)count = add2(1,2)print count
gjw@gjw:~/TEST_PYTHON$ python ./test.py爽歪歪小甲鱼我爱你303

def sayword(name = '小甲鱼',word = '爽歪歪'):   #实参用关键字索引    print name+'->'+wordsayword(word = '让编程改变世界',name = '小甲鱼')sayword()结果:小甲鱼->让编程改变世界小甲鱼->爽歪歪

收集参数

1】编写函数,很多情况下我们都会传递一系列值作为参数。为了让用户更加方便地给函数提供任意多的值作为参数, Python 中实现了一个 收集参数 的机制:在参数名前面加星号 ( * )。即: def cParam( *params ): pass 。来几行代码看看具体情况:>>> def cParam1( *params ):    print params函数调用:     >>> cParam1()  #无参数时,返回空的元组() >>> cParam1(1)  #输出的是元组(1,) >>> cParam1(1, 2)  #输出的是元组(1, 2)【2】【局限性】上面不能传递“关键字参数”【解决方案】引出两个星号(**),例:>>> def cParam2( **params ):    print params函数调用:>>> cParam2()  #输出的是字典{}   >>> cParam2( a=1, b=2, c=3 )   #输出的是字典{'a': 1, 'c': 3, 'b': 2}  【3】* 和 ** 是可以一起使用的,返回元组/字典的结合体。>>> def cParam3( *params1,**params2 ):    print params1    print params2函数调用:>>> cParam3()()  #空元组{}  #空字典>>> cParam3(1)(1,)  #元组{}    #空字典>>> cParam3(1,2,3,a=10,b=20)(1,2,3)  #元组{'a': 10, 'b': 20}【4】*与元组一起使用,作为函数的实参#coding:utf-8     #支持中文def add(a,b):    return a+bdef cParam(*params):    return paramsprint(cParam(1,2))  #(1, 2)print(add(*cParam(1,2)))  #3输出:(1, 2)3
原创粉丝点击