python3函数

Python (194) 2023-07-10 11:35:34

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
THE END

发表回复