小编Man*_*nix的帖子

是否可以为Python中的类设置默认方法?

假设你有一个 python 类。我们就这样称呼它C。假设您在脚本中的某个位置或以交互模式创建了它的实例:c=C()

类中是否可以有一个“默认”方法,这样当您引用实例时,就会调用该默认方法?

class C(object):
    def __init__(self,x,y):
        self.x=x
        self.y=y
    def method0(self):
        return 0
    def method1(self):
        return 1
    def ...
        ...
    def default(self):
        return "Nothing to see here, move along"
Run Code Online (Sandbox Code Playgroud)

等等。

现在我以交互模式创建该类的实例,并引用它:

>>> c=C(3,4)
>>> c
<__main__.C object at 0x6ffffe67a50>
>>> print(c)
<__main__.C object at 0x6ffffe67a50>
>>>
Run Code Online (Sandbox Code Playgroud)

如果您单独引用该对象,是否可以有一个被调用的默认方法,如下所示?

>>> c
'Nothing to see here, move along'
>>> print(c)
Nothing to see here, move along
>>>
Run Code Online (Sandbox Code Playgroud)

python methods class

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

列表上的Python布尔运算 - 结果不一致

假设我有两个列表:

>>> y
[False, False, True, False, True, False, False, True, False, True, False, False]
>>> z
[False, True, True, True, True, True, False, False, False, False, False, True]
Run Code Online (Sandbox Code Playgroud)

然后我做以下事情:

>>> y or z
[False, False, True, False, True, False, False, True, False, True, False, False]
>>> z or y
[False, True, True, True, True, True, False, False, False, False, False, True]
Run Code Online (Sandbox Code Playgroud)

不应该正确的答案如下所示?

[False, True, True, True, True, True, False, True, False, True, False, True]
Run Code Online (Sandbox Code Playgroud)

我也得到了错误的答案and:

>>> y …
Run Code Online (Sandbox Code Playgroud)

python boolean list operator-keyword

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

标签 统计

python ×2

boolean ×1

class ×1

list ×1

methods ×1

operator-keyword ×1