相关疑难解决方法(0)

如何知道对象在Python中是否具有属性

有没有办法在Python中确定对象是否具有某些属性?例如:

>>> a = SomeClass()
>>> a.someProperty = value
>>> a.property
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'property'
Run Code Online (Sandbox Code Playgroud)

在使用之前如何判断是否a具有该属性property

python attributes

1491
推荐指数
13
解决办法
78万
查看次数

Python中的迭代性

我试图理解Python中的Iterability.

据我所知,__iter__()应该返回一个next()定义了方法的对象,该对象必须返回一个值或引发StopIteration异常.因此,我写了这个满足这两个条件的课程.

但它似乎没有用.怎么了?

class Iterator:
    def __init__(self):
        self.i = 1

    def __iter__(self):
        return self

    def next(self):
        if self.i < 5:
            return self.i
        else:
            raise StopIteration

if __name__ == __main__:
    ai = Iterator()
    b  = [i for i in ai]
    print b
Run Code Online (Sandbox Code Playgroud)

python iterator

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

通过返回迭代器而不是列表来保护Py3k内存

用于在Python 2.x中返回列表的许多方法现在似乎都在Py3k中返回迭代器

迭代器也是生成器表达式吗?懒惰评价?

因此,随着这一点,python的内存占用将大幅减少.不是吗?

使用内置脚本从2to3转换的程序怎么样?

为了兼容性,内置工具是否将所有返回的迭代器显式转换为列表?如果是这样,那么Py3k的较低内存占用优势在转换后的程序中并不明显.是吗?

python memory iterator list python-3.x

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

标签 统计

python ×3

iterator ×2

attributes ×1

list ×1

memory ×1

python-3.x ×1