Задать вопрос
@JustChiller

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

1. Есть функция:
def get_regular_price():
price = float(input("Bвeдитe обычную цену товара: "))
return price

Как я понял переменная price перемещается в функцию get_regular_price для дальнейшего вывода. Вопрос: куда девается переменная price? Она становится глобальной?

2. У меня:
random.seed(10)
random.randint(1, 100)

Выводит:
74
5
и тд.

В книге Гэддиса эти же аргументы выводят другие числа. От чего это зависит? Версия Python? Часовой пояс?
  • Вопрос задан
  • 128 просмотров
Подписаться 1 Простой 4 комментария
Решения вопроса 1
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, посмотреть исходник этой функции.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Andrei1penguin1
Возвращается в место вызова функции
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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