一、函数
函数必须先创建才可以使用,该过程称为函数的定义,函数创建后可以使用,使用过程称为函数调用
1、定义格式
def 函数名():
函数体
# 函数的定义
def say():
print("hello 北京")
print("hello 中国")
print("hellp python")
2、调用格式
函数名()
say()
3、规则
(1)定义规则:函数必须先定义,后调用。否则报错。
(2)调用规则:函数定义的代码仅用于声明函数,调用时才实际执行函数内容。
4、文档注释
文档注释可以为函数添加功能说明,方便开发者查阅函数相关信息
def sayHello():
"""说你好""" # 写在函数名下面一行
print("say Hello")
def sum_1to100():
"""计算1到100的和"""
i = 0
sum1 = 1
while i <= 100:
sum1 += i
i += 1
print(sum1)
sayHello()
sum_1to100()
(1)文档注释
(2)格式有灰色线的话,全选然后同时按ctrl + alt +l即可将格式排整齐
5、参数(常用)
定义格式:
def 函数名(形式参数1,形式参数2):
函数体
调用格式:
函数名(实际参数1,实际参数2)
6、参数作用域
函数定义的参数(形参)从定义位置开始到定义结束位置有效;
函数间不能共享参数(形参)
7、变量的作用域
(1)局部变量:函数内部定义的变量从定义位置开始到函数定义结束位置有效
函数间不能共享内部定义的局部变量
(2)全局变量:函数外部定义的变量在整个文件中有效
函数内可以使用全局变量
(3)全局变量与局部变量的冲突问题
如果局部变量与全局变量冲突,通过global关键字可以提升局部变量为全局变量,先生命
再使用
否则,函数体里声明的变量进行的操作都是局部变量进行的操作,外部的全局变量并无变化。
语法格式:
global 变量名
8、返回值
(1)定义格式
def 函数名(参数列表)
函数体
return 返回值
(2)调用格式
变量名 = 函数名(参数列表)
(3)注意
1、使用变量接收不存在返回值的函数,结果为NONE
2、同一个函数执行过程中,只能执行一次return语句,执行return语句后,return后面的内容将不再执行,函数执行完毕。
3、同一个函数可以返回多个返回值,使用对应数量的变量接收即可
def mul():
return 3, 5
x,y = mul()
print(x)
print(y)
9、函数间调用
在一个函数中调用另一个函数的过程称为函数间的调用
例子:
def add(a, b):
return a + b
def div(a, b):
return a / b
def get(a, b):
#先计算求和
x = add(a, b)
#再计算平均值
y = div(a, b)
return x, y
a1, b1 = get(1000, 2000)
print(a1, b1)
10、课后作业
- 【代码题】
编写函数,参数为a1和a2,如果a1大于a2则函数返回1,如果a1小于a2则函数返回-1,如果a1等于a2则函数返回0.
-
def func1(a1, a2): if a1 > a2: return 1 elif a1 < a2: return -1 else: return 0 x = func1(1, 3) print(x)
- 【代码题】
定义一个函数 sum_test 接收一个参数 n ,在函数中计算 1 + 2 + 3 + ... + n 的值,并打印结果。
def sum_test(n):
i = 1
sum = 0
while i <= n:
sum += i
i += 1
return sum
sum1 = sum_test(100)
print(sum1)