最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 如何在Python中定义变量

    正文概述    2020-01-13   315

    如何在Python中定义变量

    我们首先看一下变量的分类,通常情况下,我们所说到的定义一个变量,如果没有特殊说明,那么就是定义一个全局变量。

    全局变量

    在模块内、在所有函数外面、在class外面,这就是全局变量

    局部变量

    在函数内、在class的方法内(未加self修饰),这就是局部变量

    静态变量

    在class内的,但不在class的方法内的,这就是静态变量

    实例变量

    在class的方法内的,用self修饰的变量,这就是实例变量

    全局变量

    全局变量供全局共享,全局类和函数均可访问,达到同步作用。同时还可以被外部文件访问。

    使用

    全局变量使用的时候,需要用global显示声明。

    一般情况下,如果函数直接调用全局变量,不做更新的话,一般没有问题,但如果有重新赋值,又没有在函数内部使用 global声明的话, 就相当于在内部创建了一个同名的局部变量,局部变量优先级要高于全局变量。

    # coding:utf-8
    _all = 'HelloWorld'    # 全局变量
    _all_list = []    # 全局变量
    
    def printall():
        global _all    # 这里需要用global显示声明
        print _all    # HelloWorld

    局部变量

    # coding:utf-8
    def show():
        city = 'Beijing'    # 局部变量
        print city

    静态变量

    可以称为是类变量,通过类名可以直接访问,也可以通过实例名直接访问,此变量在类中全局共享,实例之间也是全局共享。可以看下面实例

    # coding:utf-8
    class foo:
        all = 0   
        def add(self):
            foo.q += 1
    
    instance01 = foo()   # 实例化对象1
    instance02= foo()    # 实例化对象2
    print instance01.all    # 执行结果为:0
    print instance02.all    # 执行结果为:0
    print foo.all    # 执行结果为:0
    
    instance01.add()
    print instance01.all    # 执行结果为:1
    print instance02.all    # 执行结果为:1
    print foo.all    # 执行结果为:1
    
    instance02.add()
    print instance01.all    # 执行结果为:2
    print instance02.all    # 执行结果为:2
    print foo.all    # 执行结果为:2

    实例变量

    对于模块来说,有了自己的全局变量,可以供自己内部的类,函数使用,同步;对于函数或者类方法来说,有了自己的局部变量,供自己内部使用;对于类,有了静态变量,可以供内部和有继承关系的父子之际使用,同步;但实例之间各自的私有变量(局部变量)就要靠实例变量了,实现了动态绑定,多态特性。

    用self来修饰

    # coding:utf-8
    class foo:
        all = 0
        def __init__(self, name):
            self.name = name
        def add(self):
            foo.q += 1
    
    instance01 = foo('hello')
    instance02 = foo('hi')
    print instance01.name    # hello
    print instance02.name    # hi
    print foo.name     # AttributeError:class foo has no attribute 'name'

    总结

    在整个代码组织的过程中,一般会有这样两种基本需求,私有 和 公有。

    私有

    不与其他共享,自己独享,如函数和方法的局部变量,实例变量

    公有

    需要在一定范围内共享,达到同步目的,如模块内的代码共享的全局变量,类与子类之间共享的静态变量。

    更多学习内容,请点击Python学习网。


    起源地下载网 » 如何在Python中定义变量

    常见问题FAQ

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

    发表评论

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

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

    联系作者

    请选择支付方式

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