一. 函数介绍
- 定义
函数:是组织好的,可重复使用的,用来实现>特定功能的代码段 - 作用
- 提高代码复用性,减少重复,提高开发效率
- 示例--length
def str_len(strr):
count = 0
for x in strr:
count += 1
print(f'字符串长度为:{count}')
str3 = 'sdhdfgkaasl'
str_len(str3)
--->字符串长度为:11
二. 函数格式
- 语法格式
def 函数名(传入参数):
函数体
return 返回值
-
函数的调用
函数名(参数)
-
注意事项
①参数:不需要,可省略
②返回值:不需要,可省略
③函数必须先定义后使用 -
示例-自动查核酸
def check():
print('欢迎光临,请出示24小时核算证明!')
check()
--->欢迎光临,请出示24小时核算证明!
三. 函数的参数
- 传入参数的功能
在函数进行计算的时候,接受外部调用时提供的数据。 - 示例-两数相加
def add(x, y):
print(f'{x} + {y} = {x+y}')
add(1,2)
add(5,6)
--->1 + 2 = 3
--->5 + 6 = 11
- 注意事项
- 形式参数(形参):函数定义中的参数。
eg:x和y,函数声明将要使用2个参数。 - 实际参数(实参):函数调用中的参数。
eg:2和3,5和6,函数执行时真正使用的参数值. - 参数数量不限,使用逗号分隔
- 传入参数时,实参和形参一一对应,逗号分隔。
4.示例-测温核酸
def check_plus(x):
if x < 37.5:
print(f'欢迎光临,请出示24小时核算证明!您的体温是{x}度,请进')
else:
print(f'不好意思,请出示24小时核算证明!您的体温是{x}度,不能进入')
temp = float(input('请测量体温:'))
check_plus(temp)
--->请测量体温:38
---?不好意思,请出示24小时核算证明!您的体温是38.0度,不能进入
四. 函数的返回值
- 定义
函数执行完成后,返回给调用者的结果。
def 函数名(传入参数):
函数体
return 返回值
- 调用
变量 = 函数名(参数)
- 示例
def add(x, y):
return x + y
t1 = add(1,2)
print(t1)
t2 = add(5,6)
print(t2)
--->3
--->11
- 注意事项
- return后的语句不会执行
- None
- 定义:类型'NoneType'的字面量,用于表示:空的、无意义的
- 如果没有return语句,则返回None。等价于
return None
- 示例:
def no_return():
print('语句')
result = no_return()
print(result,type(result))
--->语句
--->None <class 'NoneType'>
- 应用场景
①函数返回值:返回None(表示无返回值)
②if判断:if判断时,None等同于False。在函数中返回None,配合if判断。
def check_age(age):
if age > 18:
return ('success')
else:
return None
result = check_age(14)
if not result:
print('Failed')
--->Failed
③变量定义:
当定义变量,而暂时无需赋值时name = None
五. 函数说明文档
1.定义
对函数进行说明解释,帮助理解函数功能
2. 在def
的下一行,输入""" """
回车,自动生s说明文档。:param
解释参数,:return
解释返回值。
def add(x, y):
"""
函数说明
:param x:参数x说明
:param y:参数y说明
:return: 返回值说明
"""
return x + y
- 示例-年龄
def check_age(age):
"""
检查年龄
:param age:输入int年龄
:return:返回none或者success
"""
if age > 18:
return ('success')
else:
return None
六. 函数的嵌套调用
- 定义
在一个函数中,调用另一个函数 - 嵌套格式
def func_a():
print('a')
def func_b():
print('b1')
func_a()
print('b2')
func_b()
--->b1
--->a
--->b2
- 注意事项
函数B中执行到调用函数A的语句,会将函数A全部执行
完成后,继续执行函数B的剩余内容。
七. 变量的作用域
- 定义
变量作用域:变量的作用范围。【局部】【全局】 - 局部变量
- 定义在函数体内部的变量,只在函数体内部生效。
- 作用:
- 示例:
def func_local():
num = 1
print(num)
print(num)
--->NameError: name 'num' is not defined
- 全局变量
- 在函数体内部、外部都生效。
- 作用:
- 示例:
num = 100
def func_local():
print(num)
func_local()
print(num)
--->100
--->100
- 对于全局变量,在函数内部修改变量值,只在函数内部有效。
num = 100
def func_local():
num = 10
print(num)
func_local()
print(num)
--->10
--->100
- 使用
global
关键字,可把函数内定义的变量声明为全局变量。此时,在函数内部修改变量值,在函数内部、外部都有效。
num = 100
def func_local():
global num
num = 10
print(num)
func_local()
print(num)
# --->10
# --->10
八. 综合案例
- 案例-银行取款