Python函数

函数

注:函数如果定义在类(class)里面,则称其为方法,函数和方法本质上是一样的,不过他们的调用方式不同。

定义和调用
def add(x, y):  # 先定义
    ans = x + y
    return ans  # 返回ans
add(4, 5)   #后调用

注:定义函数时的“x和y”为形式参数,调用函数时的“4和5”为实际参数,当调用函数时,将实际参数“4和5”传递给形式参数“x和y”。

None类型
def say_hello():    # 定义一个无返回值的函数
    print("Hello!")
result = say_hello()    # 使用变量接收say_hello函数的返回值
print(type(result)) # 查看result(即接收的say_hello函数的返回值)数据类型

注:定义的函数表面上没有返回值,实际上有返回值,返回值类型为“None”。
应用场景:1) 函数返回值;2) “if”判断中,等同于“False”;3) 定义无内容的变量。

解释文档
def add(x, y):  # 先定义
    """
    两数相加
    :param x: 用于接收实际参数4
    :param y: 用于接收实际参数5
    :return: 返回相加的结果
    """
    ans = x + y
    return ans
add(4, 5)   #后调用

注:以多行注释的方式,对函数进行说明。鼠标悬停至主调函数,可查看被调函数的说明文档。

作用域

  • 定义:变量或者函数的作用范围。

  • 局部变量:函数内定义,函数内生效,函数调用完后释放。
    注:形式参数为局部变量。

  • 全局变量:函数外部定义,作用于全局。

  • global关键字:可在函数内声明全局变量,使全局变量可在函数内修改。

    作用域示范代码
    num = 100   # 定义全局变量num
    
    def testA():
        num = 150   # 函数内修改num的值,不影响局外
        print(num)
    print(num)  # 函数外输出num为100
    testA() # 函数内输出num为150
    
    # global关键字
    def testB():
        # global关键字声明变量num,使变量num局内修改可以影响局外
        global num
        num = 200
        print(num)
    testB()
    print(num)  # 函数外查看num的值
    

    注:global关键字声明变量前需要先定义该全局变量。

    定义与声明的区别:定义可理解为创建,秉承“先定义后调用”的原则;而对于定义在调用后的情况,需要声明来检查该变量或者函数的合法性(此为C和C++内声明的作用,Python中必须先定义再调用),或者对特殊变量或函数进行说明时(如该文中的global关键字声明变量num),也需要对该变量或者函数进行声明。

    执行顺序图如下:

    注:源程序顺序执行,调用函数时,将实际参数传递给被调函数的形式参数,并执行被调函数,被调函数执行完将返回值返回给主调函数,并顺序执行。

posted @   Coder-Yun  阅读(14)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示