小编Sad*_*Not的帖子

abstractmethod没有定义

我无法运行此代码,因为我得到了异常:

NameError: name 'abstractmethod' is not defined
File "C:\Tests\trunk\PythonTests\AbstractClasses.py", line 12, in <module>
  class MyIterable:
File "C:\Tests\trunk\PythonTests\AbstractClasses.py", line 15, in MyIterable
  @abstractmethod

from abc import ABCMeta

class Foo(object):
    def __getitem__(self, index):
        print '__get_item__ Foo'
    def __len__(self):
        print '__len__ Foo'
    def get_iterator(self):
        print 'get_iterator Foo'
        return iter(self)

class MyIterable:
    __metaclass__ = ABCMeta

    @abstractmethod
    def __iter__(self):
        while False:
            yield None

    def get_iterator(self):
        return self.__iter__()

    @classmethod
    def __subclasshook__(cls, C):
        if cls is MyIterable:
            if any("__iter__" in B.__dict__ for B in C.__mro__):
                print "I'm …
Run Code Online (Sandbox Code Playgroud)

python abstract-class

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

Python中的"无写"变量

在MATLAB中,您可以返回元组并分配给值的元组,就像在Python中一样.在MATLAB中,如果函数返回一个您不想分配给任何值的值,则将其分配给特殊变量~.例如,假设一个函数f()返回一个元组(1, 2),那么:

~, b = f()
Run Code Online (Sandbox Code Playgroud)

分配2b1不了了之.

在Python中有相同的东西吗?我明白我可以这样做:

a, b = f()
Run Code Online (Sandbox Code Playgroud)

而忽略了价值,a但我更喜欢a完全跳过作业.重写功能f()不是一种选择.

如果我的Python术语错误,我道歉.

python matlab

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

标签 统计

python ×2

abstract-class ×1

matlab ×1