一 函数定义
在Python中,定义一个函数采用:
def test01(): #def表示定义一个函数,test01表示函数名,括号中为参数列表,即要传递的参数,括号后面常常会跟一个冒号,冒号类似于c语言中的大括号,将下面所要实现的函数包含在内
print("hello world") #打印hello world
调用python中定义的函数:
test01() #调用函数test01,打印hello world
也可以使用如下方式调用函数:
c = test01
c()
将定义的函数和调用函数的程序放在一个程序里,运行,便可打印"hello world"
二 参数传递
python中传递参数和c语言中类似。
比如:
def printMax(a,b): #函数括号中的即为参数列表,调用函数时,将值传给a,b用于函数中比较两者较大值,函数运行结束将计算结果返回,打印较大值
if a > b:
print(a,"较大值")
else:
print(b,"较大值")
调用函数:
printMax(10,20) #将10和20传给函数中的a,b
运行结果:
200 较大值
三 函数返回值
#函数返回值
def add(a,b): #求两个数的和
print("计算两个函数的和:{0},{1},{2}".format(a,b,(a+b)))
return a+b #将两个值相加,并将结果返回
c = add(10,20) #调用函数求和,并将值赋给c
print(c) #打印计算结果
运行结果:
计算两个函数的和:10,20,30
30
四 函数返回多个值
#函数返回多个值
def test02(x,y,z): #将所有数乘以10,并返回
return [x*10,y*10,z*10] #将三个计算结果一起返回,此处返回列表,可以返回多种形式的值,如字典、元组等
d = test02(20,30,40) #调用函数
print(d)
运行结果:
[200, 300, 400]
五 参数传递可变对象
#参数传递可变对象
a = [10,20]
def test07(m): #打印列表,并将列表a中的元素增加一个值
print(m)
m.append(30) #将列表中的元素增加一个值30
test07(a) #将列表a传递过去
print(a) #打印改变后的列表
运行结果:
[10, 20]
[10, 20, 30]
六 全局变量和局部变量
#全局变量
a = 100 #定义一个全局变量
def test03():
global a #在函数内部如果要使用全局变量a,则使用global a ,如果没有这一句,直接使用将会报错
print(a)
a = 300 #改变a的值
test03()
print(a) #此时打印a的值,变为300
运行结果:
100
300
#局部变量
b = 50 #定义一个全局变量
def test04():
b = 300 #定义一个局部变量,和函数外面的b的值无关
print(b) #打印的是函数内部b的值,即300
test04()
print(b) #打印的是全局变量b的值,即50
运行结果:
300
50