五、函数

一. 函数介绍

  1. 定义
    函数:是组织好的,可重复使用的,用来实现>特定功能的代码段
  2. 作用
  • 提高代码复用性,减少重复,提高开发效率
  1. 示例--length
def str_len(strr):
    count = 0
    for x in strr:
        count += 1
    print(f'字符串长度为:{count}')
str3 = 'sdhdfgkaasl'
str_len(str3)
--->字符串长度为:11

二. 函数格式

  1. 语法格式
def 函数名(传入参数):
  函数体
return 返回值
  1. 函数的调用
    函数名(参数)

  2. 注意事项
    ①参数:不需要,可省略
    ②返回值:不需要,可省略
    ③函数必须先定义后使用

  3. 示例-自动查核酸

def check():
    print('欢迎光临,请出示24小时核算证明!')

check()
--->欢迎光临,请出示24小时核算证明!

三. 函数的参数

  1. 传入参数的功能
    在函数进行计算的时候,接受外部调用时提供的数据。
  2. 示例-两数相加
def add(x, y):
    print(f'{x} + {y} = {x+y}')
add(1,2)
add(5,6)
--->1 + 2 = 3
--->5 + 6 = 11
  1. 注意事项
  • 形式参数(形参):函数定义中的参数。
    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度,不能进入

四. 函数的返回值

  1. 定义
    函数执行完成后,返回给调用者的结果。
def 函数名(传入参数):
  函数体
return 返回值
  1. 调用
    变量 = 函数名(参数)
  2. 示例
def add(x, y):
    return x + y

t1 = add(1,2)
print(t1)
t2 = add(5,6)
print(t2)
--->3
--->11
  1. 注意事项
  • return后的语句不会执行
  1. 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
  1. 示例-年龄
def check_age(age):
    """
    检查年龄
    :param age:输入int年龄
    :return:返回none或者success
    """

    if age > 18:
        return ('success')
    else:
        return None

六. 函数的嵌套调用

  1. 定义
    在一个函数中,调用另一个函数
  2. 嵌套格式
def func_a():
    print('a')

def func_b():
    print('b1')
    func_a()
    print('b2')

func_b()
--->b1
--->a
--->b2
  1. 注意事项
    函数B中执行到调用函数A的语句,会将函数A全部执行
    完成后,继续执行函数B的剩余内容。

七. 变量的作用域

  1. 定义
    变量作用域:变量的作用范围。【局部】【全局】
  2. 局部变量
  • 定义在函数体内部的变量,只在函数体内部生效。
  • 作用:
  • 示例:
def func_local():
    num = 1
    print(num)
print(num)
--->NameError: name 'num' is not defined
  1. 全局变量
  • 在函数体内部、外部都生效。
  • 作用:
  • 示例:
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

八. 综合案例

  1. 案例-银行取款
posted @ 2022-11-02 00:32  奶糖好吃吗  阅读(102)  评论(0编辑  收藏  举报