相关疑难解决方法(0)

静态类变量是否可能?

是否有可能在python中有静态类变量或方法?这样做需要什么语法?

python oop static class class-variables

1824
推荐指数
20
解决办法
114万
查看次数

在Python中,如何在类方法中访问"静态"类变量

如果我有以下python代码:

class Foo(object):
    bar = 1

    def bah(self):
        print(bar)

f = Foo()
f.bah()
Run Code Online (Sandbox Code Playgroud)

它抱怨

NameError: global name 'bar' is not defined
Run Code Online (Sandbox Code Playgroud)

如何bar在方法中访问类/静态变量bah

python

146
推荐指数
4
解决办法
14万
查看次数

如何在Python中创建只读类属性?

基本上我想做这样的事情:

class foo:
    x = 4
    @property
    @classmethod
    def number(cls):
        return x
Run Code Online (Sandbox Code Playgroud)

然后我希望以下工作:

>>> foo.number
4
Run Code Online (Sandbox Code Playgroud)

不幸的是,上述方法无效.而不是给我4它给我<property object at 0x101786c58>.有没有办法实现上述目标?

python properties class

66
推荐指数
5
解决办法
3万
查看次数

从静态方法访问静态变量

我想从静态方法访问静态变量:

#!/usr/bin/env python
class Messenger:
    name = "world"
    @staticmethod
    def get_msg(grrrr):
        return "hello " + grrrr.name

print Messenger.get_msg(Messenger)
Run Code Online (Sandbox Code Playgroud)

没有传递grrrr给方法怎么做?这是真正的OOP吗?

任何喜欢nameself.name似乎不起作用的东西:

NameError: global name 'name' is not defined
Run Code Online (Sandbox Code Playgroud)

NameError: global name 'self' is not defined
Run Code Online (Sandbox Code Playgroud)

python oop static-methods static-variables

17
推荐指数
2
解决办法
1万
查看次数