Python 定义函数使用 def 关键字,一般格式如下:
def函数名(参数列表): 函数体
让我们使用函数来输出"Hello World!":
>>>defhello(): print("HelloWorld!") >>>hello() HelloWorld! >>>
更复杂点的应用,函数中带上参数变量:
defarea(width,height): returnwidth*height defprint_welcome(name): print("Welcome",name) print_welcome("Fred") w=4 h=5 print("width=",w,"height=",h,"area=",area(w,h))
以上实例输出结果:
WelcomeFred width=4height=5area=20
函数变量作用域
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
通过以下实例,你可以清楚了解Python函数变量的作用域:
#!/usr/bin/envpython3 a=4#全局变量 defprint_func1(): a=17#局部变量 print("inprint_funca=",a) defprint_func2(): print("inprint_funca=",a) print_func1() print_func2() print("a=",a)
以上实例运行结果如下:
inprint_funca=17 inprint_funca=4 a=4
关键字参数
函数也可以使用 kwarg=value 的关键字参数形式被调用.例如,以下函数:
defparrot(voltage,state='astiff',action='voom',type='NorwegianBlue'): print("--Thisparrotwouldn't",action,end='') print("ifyouput",voltage,"voltsthroughit.") print("--Lovelyplumage,the",type) print("--It's",state,"!")
可以以下几种方式被调用:
parrot(1000)#1positionalargument parrot(voltage=1000)#1keywordargument parrot(voltage=1000000,action='VOOOOOM')#2keywordarguments parrot(action='VOOOOOM',voltage=1000000)#2keywordarguments parrot('amillion','bereftoflife','jump')#3positionalarguments parrot('athousand',state='pushingupthedaisies')#1positional,1keyword
返回值
Python的函数的返回值使用return语句,可以将函数作为一个值赋值给指定变量:
defreturn_sum(x,y): c=x+y returnc res=return_sum(4,5) print(res)
也可以让函数返回空值:
defempty_return(x,y): c=x+y return res=empty_return(4,5) print(res)
可变参数列表
最后,一个最不常用的选择是可以让函数调用可变个数的参数.这些参数被包装进一个元组(查看元组和序列).在这些可变个数的参数之前,可以有零到多个普通的参数:
defarithmetic_mean(*args): sum=0 forxinargs: sum+=x returnsum print(arithmetic_mean(45,32,89,78)) print(arithmetic_mean(8989.8,78787.78,3453,78778.73)) print(arithmetic_mean(45,32)) print(arithmetic_mean(45)) print(arithmetic_mean())
以上实例输出结果为:
244 170009.31 77 45 0
上一篇
下一篇