如果在开发程序时,需要某块代码多次,但是为了提高编些的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数。
定义函数
def 函数():
代码
调用函数
函数名([实参列表])
- 如果调用的函数在定义时有形参,那么调用的时候就应该传递参数。
- 调用时,实参的个数和先后顺序应该和定义函数中要求的一致
- 如果调用的函数有返回值,那么就可以用一个变量来进行保存这个值。
1.无参数,无返回值函数
def printinfo():
print('-----')
print('hello, world')
print('-----')
printinfo() #---- 表示调用函数
2.无参数,有返回值
def printinfo(): a =1 b =2 c =3 return a, b, c print(printinfo())
3.带参数,无返回值的函数
def add2num(a,b):
c = a + b #定义一个变量c等于 a+b
print(c)
add2num(9,1) #在括号里直接传给a,b一个参数,然后调用函数打印出c的值
4.带参数,带返回值的函数
def add2num(a,b):
return a + b #通过return返回运算结果,和上面代码不同的是,在这里不需要再定义一个变量c
print(add2num(9,1)) #方法一
result = add2num(9,1) #方法二
print(result)
5.返回多个值的函数
def divid(a,b):
shang = a//b
yushu = a%b
return shang, yushu #多个返回值用逗号分隔
sh,yu = divid(3,5) # 需要使用多个值来保存返回内容
print(sh,yu)
小练习:
- 写一个打印一条横线的函数。
def hengxian():
print('-' * 10)
hengxian()
- 写一个函数,可以通过输入的参数,打印自定义行数的横线。ps:调用上面的函数
def hengxian():
print('-' * 10)
def hengxian_num(a):
i=0
while i < a:
hengxian()
i = i+1
hengxian_num(3)
- 写一个函数求三个数的和。
def sum(a,b,c):
return a + b + c
result = sum(5,6,7)
print(result)
- 写一个函数求三个数的平均值。ps:调用上面的函数
def sum(a, b, c):
return a + b + c
def avg(a,b,c):
sum3num = a + b + c
avg3num = sum3num/3.0
return avg3num
givenum = avg(7,8,9)
print(givenum)
全局变量/局部变量
- 在函数内部进行定义的叫做局部变量;
- 当全局变量和局部变量有相同变量名的时候,如果有局部变量则优先使用局部变量,不受全局变量的影响,如果想要在局部变量里修改全局变量,则需要在局部变量里应用global(声明全局变量在函数中的标识符),若没有局部变量,默认使用全局变量



