五、函数
一. 函数介绍
- 定义
 函数:是组织好的,可重复使用的,用来实现>特定功能的代码段
- 作用
- 提高代码复用性,减少重复,提高开发效率
- 示例--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
八. 综合案例
- 案例-银行取款
 ![]() 
 
                    
                     
                    
                 
                    
                

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号