Python中函数的调用与变量的作用域
mnsd

Python中函数的调用与变量的作用域


复习回顾

  1. 函数的作用
  2. 函数的定义
  3. 程序的入口

本节新知

  1. 函数的返回值

    函数通常都有返回值,通过return关键字来进行返回,若函数无返回值,则返回None。return后的语句都不会被执行,return返回值可以有多个。

    1
    2
    3
    4
    5
    def my_add(a, b):
    sum = a + b
    return sum
    print(sum)
    my_add(2, 4)

    该程序运行后无任何反应,由于print()函数前有return语句,则print语句不可能被执行。且my_add函数调用后返回了6,但是并没有打印这个值,此时程序中的my_add(2, 4)相当于整数6,但是这个6并没有被打印。

    1
    2
    3
    4
    5
    6
    def my_add(a, b):
    sum = a + b
    return a, b, sum

    first, second, third = my_add(2, 4)
    print(f"第一个数字是{first},第二个数字是{second},这两个数的和为{third}")

    函数调用时传递参数可以为多个,且返回值也可以是多个,Python中赋值可以多个变量同时进行赋值

  2. 全局变量

    全局变量即为程序中函数外部定义的变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    a = 1
    b = 2
    c = 6 # 此处定义的变量a和b和c即为全局变量
    def my_add(x, y):
    print(c) # 函数内部可以读取全局变量的值
    c = 100
    sum = x + y

    print(my_add(a, b))
    print(c) # 函数内部不可修改全局变量的值
  3. 局部变量

    局部变量即为程序中函数内部定义的变量

    1
    2
    3
    4
    5
    6
    7
    8
    a = 1
    b = 2
    def my_add(x, y):
    c = 100 # 此处定义的变量c即为局部变量
    sum = x + y

    print(my_add(a, b))
    print(c) # 报错,函数外部不可以读取局部变量的值
  4. 拓展

    1
    2
    3
    4
    5
    6
    a = 2
    def func():
    # a+=1
    print(a)

    func()

    当程序直接运行时相当于函数内部读取全局变量的值,是可以读取的。但是当a+=1的时候,相当于重新定义了一个局部变量a,然后将a的值增加1,但是此时的a已经变成局部变量了,且变量a目前没有被赋值,所以程序报错。


课后作业

复习Python中内置的常见函数

 评论
评论插件加载失败
正在加载评论插件