Size: a a a

Сообщество Python Программистов

2020 October 21

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
РомаК
то есть мы в add вызываем add но уже со следующим аргументом. и это не рекурсия
Каждый вызов возвращает новый инстанс add, который опять вызывается и опять возвращает новый инстанс
источник

Р

РомаК in Сообщество Python Программистов
Бензофуран Гетероцикл
Каждый вызов возвращает новый инстанс add, который опять вызывается и опять возвращает новый инстанс
источник

Р

РомаК in Сообщество Python Программистов
Бензофуран Гетероцикл
Каждый вызов возвращает новый инстанс add, который опять вызывается и опять возвращает новый инстанс
спасибо
источник

K

KarmaBot in Сообщество Python Программистов
РомаК
спасибо
Вы увеличили карму Бензофуран Гетероцикл до 2138.41 (+7.24)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
Language:
py3


Source:
from dis import dis
c = """a = 1
b = 2
c = a+b
print(c)"""
dis(c)


Result:
  1           0 LOAD_CONST               0 (1)
             2 STORE_NAME               0 (a)

 2           4 LOAD_CONST               1 (2)
             6 STORE_NAME               1 (b)

 3           8 LOAD_NAME                0 (a)
            10 LOAD_NAME                1 (b)
            12 BINARY_ADD
            14 STORE_NAME               2 (c)

 4          16 LOAD_NAME                3 (print)
            18 LOAD_NAME                2 (c)
            20 CALL_FUNCTION            1
            22 POP_TOP
            24 LOAD_CONST               2 (None)
            26 RETURN_VALUE
В другой формулировке:
PUSH Literal(1)
POP&STORE_INTO Variable(a)
PUSH Literal(2)
POP&STORE_INTO Variable(b)
PUSH Variable(a)
PUSH Variable(b)
BIN_ADD
POP&STORE_INTO Variable(c)
PUSH Variable(print)
PUSH Variable(c)
CALL_FUNCTION
источник

PB

Pavel Belyavtsev in Сообщество Python Программистов
Ща почитаю...
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
В другой формулировке:
PUSH Literal(1)
POP&STORE_INTO Variable(a)
PUSH Literal(2)
POP&STORE_INTO Variable(b)
PUSH Variable(a)
PUSH Variable(b)
BIN_ADD
POP&STORE_INTO Variable(c)
PUSH Variable(print)
PUSH Variable(c)
CALL_FUNCTION
BIN_ADD берёт дважды POP со стека, складывает их и PUSH'ит результат
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
В другой формулировке:
PUSH Literal(1)
POP&STORE_INTO Variable(a)
PUSH Literal(2)
POP&STORE_INTO Variable(b)
PUSH Variable(a)
PUSH Variable(b)
BIN_ADD
POP&STORE_INTO Variable(c)
PUSH Variable(print)
PUSH Variable(c)
CALL_FUNCTION
@floordiv это понятно?)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Винни Пух.d
в теории, со стеком тоже довольно удобно выполнять, и менее затратно, так как не нужна будет рекурсия
Она и так не особо нужна, лол
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Открою магический секрет
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Ты можешь получить стек из дерева. И дерево из стека.
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
И компиляторы (могу ошибаться) именно и делают что формируют AST, оптимизируют в нём штуки и потом из AST делают стек (уже на асме, правда)
источник

ВП

Винни Пух.d in Сообщество Python Программистов
понятно
источник

PB

Pavel Belyavtsev in Сообщество Python Программистов
Что-то наклевывается...

>>> pyautogui.mouseDown (); pyautogui.mouseUp () # делает то же самое, что и щелчок левой кнопкой мыши
>>> pyautogui.mouseDown (button = 'right') # нажмите правую кнопку вниз
>>> pyautogui.mouseUp (button = 'right', x = 100, y = 200) # переместите мышь на 100, 200, затем отпустите правую кнопку вверх.
источник

ВП

Винни Пух.d in Сообщество Python Программистов
глупенький чармик)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
И компиляторы (могу ошибаться) именно и делают что формируют AST, оптимизируют в нём штуки и потом из AST делают стек (уже на асме, правда)
Эти моменты тоже понятны, @floordiv?
источник

ВП

Винни Пух.d in Сообщество Python Программистов
Бензофуран Гетероцикл
Эти моменты тоже понятны, @floordiv?
да, вполне
источник

ВП

Винни Пух.d in Сообщество Python Программистов
Винни Пух.d
глупенький чармик)
ах, это ж я глупенький
источник

ВП

Винни Пух.d in Сообщество Python Программистов
lambda _token: token.type...
источник

ВП

Винни Пух.d in Сообщество Python Программистов
штош, людской фактор, что поделать
источник