Мне нужно __ закрытие __

Вы ищете Iterable<String>?

Iterable<T> <=> IEnumerable<T>
Iterator<T> <=> IEnumerator<T>
7
задан Ram Rachum 22 October 2009 в 20:18
поделиться

4 ответа

You actually have analogous fields in CPython 2.x:

>>> first = lambda x: lambda y: x
>>> f = first(2)
>>> type(f.func_code)
<type 'code'>
>>> map(type, f.func_closure)
[<type 'cell'>]

Edit: For more details on the meaning of these constructs please read about "user defined functions" and "code objects" explained in the Data Model chapter of the Python Reference.

6
ответ дан 6 December 2019 в 11:49
поделиться

They used to be called

func_closure (now __closure__), func_code (now __code__)

(that should help googling).

A short explanation from here below.

  • func_closure: None or a tuple of cells that contain bindings for the function’s free variables (read-only)
  • func_code: The code object representing the compiled function body (writable)
4
ответ дан 6 December 2019 в 11:49
поделиться

Из Что нового в Python 3.0

Атрибуты функции с именем func_X были переименованы, чтобы использовать форму __ X __ , освобождая эти имена в пространстве имен атрибутов функции для пользовательских атрибутов. Например, func_closure , func_code , func_defaults , func_dict , func_doc , func_glo18. , имя_функции были переименованы в __ закрытие __ , __ код __ , __ значения по умолчанию __ , __ dict __ , __ doc] __ doc , __ globals __ , __ name __ , соответственно.

По сути, все те же старые вещи Python 2, причудливое новое имя Python 3000.

0
ответ дан 6 December 2019 в 11:49
поделиться

Из Что нового в Python 3.0

Атрибуты функции с именем func_X были переименованы, чтобы использовать форму __ X __ , освобождая эти имена в пространстве имен атрибутов функции для пользовательских атрибутов. В частности, func_closure , func_code , func_defaults , func_dict , func_doc , , , , , , имя_функции были переименованы в __ закрытие __ , __ код __ , __ значения по умолчанию __ , __ dict __ __ dict __ , __ globals __ , __ name __ , соответственно.

По сути, все те же старые вещи Python 2, причудливое новое имя Python 3000.

Вы можете узнать больше о большинстве из них в PEP 232

7
ответ дан 6 December 2019 в 11:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: