Mel wrote:

> Steven D'Aprano wrote:
> 
>> There may be some other obscure built-in type that includes code objects,
>> but I can't imagine what it would be. I feel confident in saying that
>> functions, and functions alone, contain code. Even methods are just
>> wrappers around functions. Even built-in functions like len don't contain
>> code! (Or at least, their code isn't accessible from Python.) Which makes
>> sense, if you think about it: their code is part of the Python virtual
>> machine, not the object.
> 
> Interesting question.  Iterators seem to have code objects:
[...]

Generators. But nice catch, thank you!

Iterators are *any* object which obeys the iterator protocol, that is, have
a next() method and an __iter__() method which behave in the expected way.
Iterators are a duck-type. Generators, whether created from a generator
expression or a generator function, are an actual type.

>>> type(x for x in (1,2))
<class 'generator'>


-- 
Steven

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to