• Как работает return и random.seed?

    JawsIk
    @JawsIk
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    Итак для начала, хочу сказать, чтобы ты не задавал сразу два вопроса в одном вопросе (я понимаю, что каламбур, и именно поэтому так не делай).
    Итак во-первых:
    def get_regular_price():
      price = float(input("Bвeдитe обычную цену товара: "))
      return price

    Существует такая штука, как пространство имён.

    Вне функции переменной price не существует. И после исполнения (если ты не создашь эту переменную), то переменная price так же ниоткуда не появиться.

    Внутри же функции, переменная price появиться на время исполнения этой функции. И после исполнения, она передаст значение (именно значение, а не название переменной) и тут же "исчезнет". Но до, того пока ты не вызвал функцию, переменная price вообще ни в каком виде не существует.

    Можно использовать твою функцию и создать переменную с тем же названием в основном коде программы:
    price = get_regular_price()
    Но таким же способом можно и задать другое название переменной:
    stoimost354 = get_regular_price()

    По-второму вопросу, а именно про
    import random
    
    random.seed(10)
    print(random.randint(1, 100))

    Да, действительно, существует некая внутренняя реализация функции random. И случайность по умолчанию привязана к текущему времени. И да, действительно, можно указать число через инструкцию seed, которая вместо времени, будет за основу случайности брать, указанное тобой число. Но кроме "времени" или "числа" под капотом у функции есть ещё используемые в генерации параметры (если будет уместным назвать, то так называемая генерируемая "соль"). Посмотреть эти параметры можно если например в PyCharm сделать:
    import random
    и при помощи CTRL + Click на random, посмотреть исходник этой функции.
    Ответ написан
    1 комментарий
  • Как работает return и random.seed?

    @Andrei1penguin1
    Возвращается в место вызова функции
    Ответ написан
    1 комментарий