V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
vtoexsir
V2EX  ›  Python

类变量前边必须使用类名吗?有没有其他引用方式?

  •  
  •   vtoexsir · 2017-07-25 09:03:12 +08:00 · 1761 次点击
    这是一个创建于 2466 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如:

    class Cname(Time):  
    	classVar = 3  
    	def d():  
    		print(Cname.classVar) # 类变量前边必须使用列名来引用,有其他写法吗?  
    

    我的问题是:
    类变量前边必须使用列名来引用,很不方便,比如修改类名或者类变量的名称,则要修改多出代码。
    那么有没有其他方便的写法呢?
    比如就像实例变量前使用 self 来引用一样。

    9 条回复    2017-07-25 10:11:54 +08:00
    guyskk
        1
    guyskk  
       2017-07-25 09:23:34 +08:00 via Android
    可以用 self 引用
    cxyfreedom
        2
    cxyfreedom  
       2017-07-25 09:27:47 +08:00 via iPhone
    不知道理解有没有问题,cls.classVar ?
    mkeith
        3
    mkeith  
       2017-07-25 09:33:02 +08:00 via iPhone
    你是要访问类变量还是对象变量呢?
    vtoexsir
        4
    vtoexsir  
    OP
       2017-07-25 09:47:14 +08:00
    @mkeith
    @guyskk
    要访问实例变量,使用 self。
    要访问类变量,怎么写法?
    vtoexsir
        5
    vtoexsir  
    OP
       2017-07-25 09:47:54 +08:00
    @cxyfreedom
    cls.classVar 不行!
    guyskk
        6
    guyskk  
       2017-07-25 09:49:01 +08:00
    @vtoexsir #4 self.classVar
    haython
        7
    haython  
       2017-07-25 09:56:08 +08:00   ❤️ 1
    方法都没写对,方法要加 self 参数
    lrxiao
        8
    lrxiao  
       2017-07-25 09:59:48 +08:00
    这..有什么可简便的
    还有上面的,他要的是类变量..
    mkeith
        9
    mkeith  
       2017-07-25 10:11:54 +08:00
    @classmethod
    def m(cls):
    cls.xxx
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3355 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:07 · PVG 20:07 · LAX 05:07 · JFK 08:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.