相关疑难解决方法(0)

什么是Python中的"可调用"?

现在很清楚元类是什么,有一个相关的概念,我一直在使用,而不知道它的真正含义.

我想每个人都用括号做错了,导致"对象不可调用"异常.更重要的是,使用__init____new__导致想知道这种血腥__call__可以用于什么.

你能给我一些解释,包括魔术方法的例子吗?

python callable

286
推荐指数
8
解决办法
23万
查看次数

发电机是否可以调用?哪个是发电机?

生成器只是一个函数,它返回一个可以在其上调用的对象,这样每次调用它都会返回一些值,直到它引发一个StopIteration异常,表示已生成所有值.这样的对象称为迭代器.

>>> def myGen(n):
...     yield n
...     yield n + 1
... 
>>> g = myGen(6)
Run Code Online (Sandbox Code Playgroud)

我从Python中理解生成器中引用了这个

这是我想弄清楚的:

  1. 哪个是发电机?myGen还是myGen(6)

    根据上面提到的报价,我认为发电机应该是myGen.并且myGen(6)是返回的迭代器对象.但我真的不确定.

  2. 当我尝试这个时:

    >>> type(myGen)
    <type 'function'>
    >>> type(g)         # <1>this is confusing me.
    <type 'generator'>  
    >>> callable(g)     # <2> g is not callable.  
    False               
    >>> callable(myGen)
    True
    >>> g is iter(g)    # <3> so g should an iterable and an iterator 
    True                # at the same time. And it …
    Run Code Online (Sandbox Code Playgroud)

python generator callable

14
推荐指数
1
解决办法
3152
查看次数

python 中的 self() 是什么?

我以为我self在某种程度上理解了。但我遇到了这个:

    for f in flags:
        if f not in flagMap:
            raise error.Error('bad debug flag %s' % (f,))
        self._flags = self._flags | flagMap[f]
        self('debug category \'%s\' enabled' % f)
Run Code Online (Sandbox Code Playgroud)

有什么self(...)作用?

python self

6
推荐指数
0
解决办法
3124
查看次数

标签 统计

python ×3

callable ×2

generator ×1

self ×1