Результаты поиска по запросу "python-internals"
Можно ли определить __setattr __ () в классе с помощью __slots__?
Скажем, у меня есть класс, который определяет__slots__: class Foo(object): __slots__ = ['x'] def __init__(self, x=1): self.x = x # will the following work? def __setattr__(self, key, value): if key == 'x': object.__setattr__(self, name, -value) ...
интернированы, эти условия не выполняются на примере ОП.
on оптимизирует операции приращения строки. При инициализации памяти для строки программа оставляет для нее дополнительное пространство расширения, поэтому при приращении исходная строка не копируется в новое место. мой вопрос, ...
Почему функция Python 'len' быстрее, чем метод __len__?
В Pythonlen это функция, чтобы получить длину коллекции путем вызова объекта__len__ метод: def len(x): return x.__len__()Так что я бы ожидал прямого вызова__len__() быть по крайней мере так быстро, какlen(). import timeit setup = ''' ''' print ...
Причина в том, что кортежи могут храниться в кеш-памяти, в отличие от списков. Программа всегда считывает из памяти ячейки списков, так как она изменчива (может измениться в любое время).
ли разница в производительности между кортежами и списками, когда дело доходит до создания и поиска элементов?
Как именно работает байт-код Python в CPython?
Я пытаюсь понять, как работает Python (потому что я использую его все время!). Насколько я понимаю, когда вы запускаете что-то вроде python script.py, скрипт преобразуется в байт-код, а затем интерпретатор / VM / CPython - на самом деле просто ...
Запись (и не) в глобальную переменную в Python
Исходя из гораздо менее динамичного C ++, у меня возникли проблемы с пониманием поведения этого кода Python (2.7). Примечание: Я знаю, что это плохой стиль программирования / зло, но я хотел бы понять это, тем не менее. vals = [1,2,3] def f(): ...
Python: почему * и ** быстрее, чем / и sqrt ()?
Оптимизируя мой код, я понял следующее: >>> from timeit import Timer as T >>> T(lambda : 1234567890 / 4.0).repeat() [0.22256922721862793, 0.20560789108276367, 0.20530295372009277] >>> from __future__ import division >>> T(lambda : 1234567890 / ...
Как внутренняя перестановка членов в кортежах Python (a, b) = (b, a)?
In [55]: a = 5 In [56]: b = 6 In [57]: (a, b) = (b, a) In [58]: a Out[58]: 6 In [59]: b Out[59]: 5Как эта перестановка значений a и b работает внутренне? Определенно не используется временная переменная.
Что именно делает «del»?
Вот мой код: from memory_profiler import profile @profile def mess_with_memory(): huge_list = range(20000000) del huge_list print "why this kolaveri di?"Это то, что выводится, когда я запускаю его из интерпретатора: Строка # Использование ...
Как оператор print создает локальные переменные
Вопрос в конце этого поста. Первый фрагмент:пустой словарь локальной переменной. def outer(): x = 1 def inner(): print "Local variables: %s" % locals() return inner() print outer()Вывод: локальные переменные: {} Второй фрагмент:печать внутри ...