- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好 Pythoneers:下面的代码只是我正在尝试做的一个模型,但它应该能说明我的问题。
我想知道这是否是我从 Java 编程中学到的肮脏技巧,或者是一种有效的 Pythonic 做事方式:基本上我正在创建大量实例,但我需要跟踪“静态”数据创建时的所有实例。
class Myclass:
counter=0
last_value=None
def __init__(self,name):
self.name=name
Myclass.counter+=1
Myclass.last_value=name
以及使用这个简单类的一些输出,表明一切都按我预期的那样工作:
>>> x=Myclass("hello")
>>> print x.name
hello
>>> print Myclass.last_value
hello
>>> y=Myclass("goodbye")
>>> print y.name
goodbye
>>> print x.name
hello
>>> print Myclass.last_value
goodbye
那么这是做这种事情的一种普遍可接受的方式,还是一种反模式?
[例如,我不太高兴我显然可以从类内(好)和类外(坏)设置计数器;也不热衷于在类代码本身中使用完整的命名空间“Myclass”——只是看起来很笨重;最后,我最初将值设置为“无”——我这样做可能是在模仿静态类型语言吗?]
我使用的是 Python 2.6.2,程序是单线程的。
最佳答案
在我看来,类变量是完美的 Pythonic。
只要注意一件事。一个实例变量可以隐藏一个类变量:
x.counter = 5 # creates an instance variable in the object x.
print x.counter # instance variable, prints 5
print y.counter # class variable, prints 2
print myclass.counter # class variable, prints 2
关于class - (类变量的使用)Pythonic - 还是从 Java 中学到的讨厌的习惯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3826077/
我看到过关于此的类似帖子,但无法让 Netbeans 在正常工作时停止在我的代码中显示错误消息 "Unable to resolve identifier nullptr"。我已正确启用 C++11,
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一个 cucumber 步骤,最近开始失败时 已添加到我的布局中。如果我拿 出来,我的测试都通过了。当我把它放回去时,使用 WebRat 提供的 click_link 方法
我一直致力于创建独立于 .Net 客户端运行的 WCF 服务。感谢 Google 和 StackOverflow,我已经能够创建简单的 xml 和 json 服务,而无需 Soap 包装器和一堆我不需
有人可以向我解释一下 python 在 ubuntu 9.04 中发生了什么吗? 我正在尝试启动 virtualenv,而 --no-site-packages 标志似乎对 ubuntu 没有任何作用
我是一名优秀的程序员,十分优秀!