学习参考视频:第一阶段-第五章-01-函数的初体验_哔哩哔哩_bilibili
Day4学习进度:第五章
知识点总结:
函数:已组织好的,可重复使用,针对特定功能。
函数的定义:
def 函数名(传入参数):
函数体
return 返回值
# return后函数就会结束,不要把函数内的语句写在return后
函数的调用:函数名(参数),参数和返回值可以省略。
def add(x,y):
result = x + y
print(f"{x} + {y}的结果是:{result}")
add(5, 6)
函数传入参数的数量不受限制:可以不使用参数,也可以使用任意个参数。
无返回值的函数:其返回值为None。
def say_hi():
print("HI")
result = say_hi()
print(f"无返回值函数返回内容为:{result}")
# 结果为None
print(f"无返回值函数返回内容类型为:{type(result)}")
# 结果为<class 'NoneType'>
应用场景:
1.在if判断中,None等同于False
def check_age(age):
if age > 18:
return "SUCCESS"
else:
return None
result = check_age(16)
if not result:
# 当result为None时,not result结果为True,符合判断条件
print("您未成年")
2.用于声明无初始内容的变量
函数说明文档:通过多行注释为函数添加说明文档,可以辅助理解函数的作用,内容应写在函数体之前。
def add(x,y):
"""
add函数可以接受2个参数,进行2数相加的操作
:param x: 形参x表示一个加数
:param y: 形参y表示另一个加数
:return: 返回值是2数相加的和
"""
result = x + y
return result
函数的嵌套调用:一个函数里面又调用了另一个函数。
递归调用:汉诺塔
变量作用域:
局部变量:定义在函数体内部的变量,只在函数体内部生效。
全局变量:在函数体内部、外部都能生效的变量。定义在函数外面就可以。在函数内部修改全局变量的值只会在函数体内部生效,不会影响到函数体外部的全局变量本身。
global关键字:可以在函数内部声明变量为全局变量。
num = 200
def test1():
num = 500
print(num)
test1()
print(num)
# test1值为500 num值为200
def test2():
global num
num = 500
print(num)
test2()
print(num)
# test值为500 num值为500