zoukankan      html  css  js  c++  java
  • python作用域

    全局变量

    不是在函数内部定义的变量,一般定义在程序开始的时候,全局变量的作用范围在整个执行程序的过程都有效。包括函数内部。

    局部变量

    字符串、整型类型

    在函数内部定义的变量叫局部变量,局部变量的作用范围只在这个函数内部有效。如果这个局部变量的变量名和全局变量的变量名相同,局部变量会覆盖全局变量。

    比如定义一个全局变量和局部变量:

    name = 'zhangshan'#全局变量
    def fun1():
        name = 'xiaoming'#局部变量
        print(name)
    print(name)#zhangshan
    fun1()#xiaoming
    print(name)#zhangshan
    
     列表、集合等类型

    Python中还有其它的数据类型,如列表、集合等。不同的数据类型,作用域也不同。

    name = ['jack','susan','lily']
    person ={'name':'lily','sex':'woman'}
    
    def fun1():
        name[0] = 'lucy'
        person['name'] = 'hanmeimei'
    fun1()
    print(name)#['lucy', 'susan', 'lily']
    print(person)#{'name': 'hanmeimei', 'sex': 'woman'}
    

    以下两种方式知道就好,不推荐使用。

    局部变量修改全局变量

    局部变量一般是修改不到全局变量的,如果要在函数内部修改全局变量需要加一个关键字 global,说明 你要修改的是全局变量。

    name = 'zhangshan'
    
    def fun1():
    
        global  name
        name = 'xiaoming'
    
    print(name)#zhangshan
    fun1()
    print(name)#xiaoming
    

    函数内部声明全局变量

    即使没有设置这个全局变量,同样用global关键字也可以声明这个变量是全局变量。

    def fun1():
        global  name
        name = 'xiaoming'
    
    fun1()
    print(name)#xiaoming
    

     但是不推荐这个方法。也不推荐在函数内部修改全局变量。

  • 相关阅读:
    PHP数组处理总结
    设计模式之-工厂模式理解
    我的世界观
    编程入门
    2019 新的一年
    placeholder 不支持ie8
    2018年8月20日
    HttpClientUtil
    通用mapper
    small_demo
  • 原文地址:https://www.cnblogs.com/qing-chen/p/7226770.html
Copyright © 2011-2022 走看看