zoukankan      html  css  js  c++  java
  • 第二模块 3.6 函数的返回值与作用域

    1 函数的返回值与作用域

    def cal(x,y):
        res = x**y
        return res   #返回值, 意味着函数的中止
    
    n = cal(5,8)
    print(n)
    def test():
    
        return  1,2,3,4,5
    
    print(test())

    输出结果是:

    (1, 2, 3, 4, 5)   #  return 多个值,输出的结果就是元组的数据类型

    2  全局变量 与 局部变量

    name = "Alex"
    
    def change():
        name = "金角大王"   #局部变量
        print(name)
    change()
    print(name)
    def change():
        name = "金角大王"   #局部变量
        age = 22
        print(name)
        print(locals())   #打印所有的局部变量
        print(globals())   # 打印全局变量
    change()
    print(name)
    • 在函数中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

    • 全局变量作用域(即有效范围)是整个程序,局部变量作用域是定义该变量的函数。

    • 变量的查找顺序是局部变量>全局变量

    • 当全局变量与局部变量同名时,在定义局部变量的函数内,局部变量起作用;在其它地方全局变量起作用。

    • 在函数里是不能直接修改全局变量的

    def change():
        #name = "金角大王"   #局部变量
        global name # 在函数内部声明(创建)一个全局变量
        name = "hahah"
        age = 22
        print(name)
        print(locals())   #打印所有的局部变量
        print(globals())   # 打印全局变量
    change()
    print(name)

    3  传递列表,字典,集合产生的现象

    d = {"name":"alex","age":22,"hobbie": "大保健"}
    l = ["alex","jack","lily"]
    def change_data(info, name):
        info["hobbie"] = "学习"
        name.append("john")
    change_data(d,l)
    print(d,l)
  • 相关阅读:
    数据倾斜原理及解决方案
    删除emp_no重复的记录,只保留最小的id对应的记录
    理解HBase面向列存储
    给数据库用户授权(对象多为系统表,如dba可以查看的表)
    SpringBoot里的一些注解
    01背包
    【转】简说GNU, GCC and MinGW (Lu Hongling)
    费马小定理
    欧拉定理
    【转】C中的静态存储区和动态存储区
  • 原文地址:https://www.cnblogs.com/kissfire008/p/11741894.html
Copyright © 2011-2022 走看看