最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 说一说那些使你困惑的局部变量和全局变量

    正文概述    2020-02-22   229

    说一说那些使你困惑的局部变量和全局变量

    我们先来看一下局部变量和全局变量的定义:

    局部变量:在函数中定义的变量,作用域是当前函数,只对当前函数起作用。

    全局变量:在代码开头定义的变量,作用域是整段代码,对整段代码起作用。

    先看下面的实例, 最后给结论。

    name = 'PythonTab'
    def func1():
        print('my name is %s' %(name))
        name = 'PythonTab.com'
        print('my name is %s' %(name))
    func1()
    print(name)

    输出结果

    my name is PythonTab
    my name is PythonTab.com
    default

    结论:当全局变量和局部变量相同时,函数内部优先使用局部变量, 如果没有局部变量则使用全局变量

    如果我们想在函数内部,使局部变量对全局变量产生作用,那么我们可以在函数中使用gloabl,下面我们来看

    name = 'default'
    def func2():
        global name
        name = 'PythonTab.com'
        print(name)
    func2()
    print(name)

    输出结果

    PythonTab.com
    PythonTab.com

    我们再来看

    nameList =['Python','Tab','.com']
    def func3():
        nameList[0] = 'python'
    func3()
    print(nameList)

    输出结果

    ['python','Tab','.com']
    nameList =['Python','Tab','.com']
    def func4():
        nameList = []
    func4()
    print(nameList)

    输出结果

    ['Python','Tab','.com']

    这里可以看到nameList这个全局变量改变了,函数内部没有调用global,却改变了全局变量。因为在python中,列表、字典等如果只是修改其中元素的值,可以不用gloabl,如果是修改整个列表,必须是有gloabl。

    nameList =['Python','Tab','.com']
    def func5():
        gloabl nameList
        nameList = []
    func5()
    print(nameList)

    总结:局部函数只作用于该函数内,全局函数作用于整段代码,如果要在函数内修改全局变量的值,使用gloabl。如果只修改列表,字典等中的某个值,可以不用global也可以修改全局变量。


    起源地下载网 » 说一说那些使你困惑的局部变量和全局变量

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元