Найти - Пользователи
Полная версия: Скорость выполнения и обьявление локальных переменных
Начало » Python для новичков » Скорость выполнения и обьявление локальных переменных
1
odnochlen
Насколько замедляет обьявление переменных в теле функции по сравнению с его выносом? А определение локальных функций?

def f():
    s="string"
    #...

def f():
    def inner():
        #...
    #...
odnochlen
Я в курсе, что к локальным переменным доступ на один поиск в хеш массиве быстрее, но что происходит со строкой? Она создается каждый раз, или она хранится между вызовами и при вызове только присваивается?
GaiveR
Зависит от реализации на сколько я понимаю. Но вообще небольшие числа и строки кешируются.

>>> def f1():
...     s = "string1"
...     print(id(s))
...
>>> f1()
31408000
>>> f1()
31408000
>>> f1()
31408000
>>> s2 = "string1"
>>> id(s2)
31408000
>>> s3 = "aaa"
>>> id(s3)
40158856
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB