zoukankan      html  css  js  c++  java
  • py-day3 python 全局变量和局部变量

    # 全局变量    如果函数的内容无 global关键字,优先读取全局变量,无法对全局变量重新赋值,
    name = 'mj'
    def change_name():
        print('change_name',name)
    change_name()
    
    change_name mj
    # 但是对于可变类型,可以对内部进行操作。
    name = ['mj','hm']
    def change_name():
        name.append('xiaoma')
        print('change_name',name)
    change_name()
    print(name)
    
    change_name ['mj', 'hm', 'xiaoma']
    ['mj', 'hm', 'xiaoma']
    #如果函数中有global关键字,变量本质上就是全局变量的那个变量,可读取可赋值
    name = 'mj'
    def change_name():
        global name                   
        print('change_name',name)
    change_name()
    print(name)
    
    change_name mj
    mj
    # 局部变量
    name = 'mj'
    def change_name():
        name = 'love'
        print('change_name',name)
    change_name()
    print(name)
    
    change_name love
    mj
    
    # 修改全局变量  global
    name = 'mj'
    def change_name():
        global name
        name = 'love'
        print('change_name',name)
    change_name()
    print(name)
    
    change_name love
    love

    为了方便识别,规定:

      全局变量用大写,基本变量用小写

    NAME = ['mj','hm']
    def change_name():
        name = 'love'
        print('change_name',name)
    change_name()
    print(NAME)
    
    change_name love
    ['mj', 'hm']
    # 指定上一级变量  nonlocal
    name = '中国'
    def city():
        name = '上海'
        def shiji():
            nonlocal name
            name = '九亭'
        shiji()
        print(name)
    
    print(name)
    city()
    print(name)
    
    中国
    九亭
    中国
  • 相关阅读:
    模糊查询的like '%$name$%'的sql注入避免
    在VS2010中使用Git(转)
    android WebView解析 调用html5
    git
    推荐!手把手教你使用Git
    羽毛拍十大品牌
    乒乓球拍板和皮子世界排名
    足球小记
    centos 网络启动 在/etc/sysconfig/network-scripts/ifcfg-eth1onboot=yes即可
    MyEclipseGen--------生成
  • 原文地址:https://www.cnblogs.com/majunBK/p/10425679.html
Copyright © 2011-2022 走看看