zoukankan      html  css  js  c++  java
  • python-局部变量与全局变量

    局部变量与全局变量

    1、局部变量

    name = "Yang Li"
     
    def change_name(name):
        print("before change:",name)
        name = "你好"
        print("after change", name)
     
     
    change_name(name)
     
    print("在外面看看name改了么?",name)

    输出:

    before change: Yang Li
    after change 你好
    在外面看看name改了么? Yang Li

    2、全局变量

    NAME = "alex" 
    def yangjian():
         global NAME             # 已经声明,NAME就是全局的的那个变量
         print('1我的名字', NAME)
         NAME = "land"          # 修改 全局的变量
         print('2我的名字', NAME)
    
    def qupengfei():
         name = "yang"
         print('3我的名字', NAME)   
    
    yangjian()   
    qupengfei()   

    输出:

    1我的名字 alex    
    2我的名字 land
    3我的名字 yang
    
    ######## 全局变量变量名大写
    ######## 局部变量变量名小写
    #函数中 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值;但是对于可变类型,可以对内部元素进行操作;如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值

    3、nonlocal

    name = "刚娘"
    
    def weihou():
        name = "陈卓"
        def weiweihou():
            nonlocal name   # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止
            name = "冷静"
            print(name)
        weiweihou()
        print(name)
    
    print(name)
    weihou()
    print(name)
    # 刚娘
    # 陈卓
    # 陈卓
    # 刚娘

    全局与局部变量

    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
    全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
    当全局变量与局部变量同名时:
    在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
     
    函数返回值

    要想获取函数的执行结果,就可以用return语句把结果返回

    注意:

    1. 函数在执行过程中只要遇到return语句,就会停止执行并返回结果,so 也可以理解为 return 语句代表着函数的结束
    2. 如果未在函数中指定return,那这个函数的返回值为None 

    嵌套函数

    name = "Alex"
     
    def change_name():
        name = "Alex2"
     
        def change_name2():
            name = "Alex3"
            print("第3层打印",name)
     
        change_name2() #调用内层函数
        print("第2层打印",name)
     
     
    change_name()
    print("最外层打印",name)
  • 相关阅读:
    Yii1.1应用升级到Yii2.0的一些注意点
    js经常使用功能代码
    P3370 【模板】字符串哈希
    poj 2406 Power Strings 周期问题
    P1325 雷达安装
    P1809 过河问题_NOI导刊2011提高(01)
    P1791 线段覆盖
    田忌赛马
    1225 八数码难题
    P1115 最大子段和
  • 原文地址:https://www.cnblogs.com/Yangyl00/p/13184956.html
Copyright © 2011-2022 走看看