【发布时间】:2013-04-16 11:25:13
【问题描述】:
我想在 python 中有这样的简单类常量:
class FooBarBaz:
BAR = 123
@staticmethod
def getBar():
return BAR # this would not work, of course
return FooBarBaz.BAR # this would work but is "way too long"
有没有更短的方法从方法内部引用类本身,而不是当前实例?它不仅适用于静态方法,而且通常适用于 __class__ 关键字或其他东西。
【问题讨论】:
-
我猜你正在寻找类方法,而不是静态。
-
@thg435 nvm 好点。提交作为答案...
-
忘记它是否是静态的。我正在从类范围中寻找类本身的通用别名,而不是实例(如果有的话)。它可以是属于类的变量,属于类的方法。我想要
self之类的东西引用类的实例,但引用类。 -
你的意思是
type(self)? -
在classmethods中传递给函数的第一个参数是class(通常表示为cls)docs.python.org/2/library/functions.html#classmethod
标签: python