7.函数def

xiaoxiao2021-02-28  80

test.py中的内容:

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

def sayword(name = '小甲鱼',word = '爽歪歪'): #实参用关键字索引 print name+'->'+word sayword(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+b def cParam(*params): return params print(cParam(1,2)) #(1, 2) print(add(*cParam(1,2))) #3 输出: (1, 2) 3
转载请注明原文地址: https://www.6miu.com/read-54587.html

最新回复(0)