Python Glossary English

Python 3.6+secretsфункция

secrets.choice()

случайные числа

Криптографически стойко выбирает один случайный элемент непустой последовательности.

Синтаксис

secrets.choice(seq)

Тот же интерфейс, что у random.choice, но нельзя задать seed и предсказать результат. Для паролей выбирайте символы в цикле: ''.join(secrets.choice(alphabet) for _ in range(n)). Пустая последовательность даёт IndexError, а множество — TypeError, потому что у него нет индексов.

Примеры

import secrets, string
alphabet = string.ascii_letters + string.digits
password = ''.join(secrets.choice(alphabet) for _ in range(12))
print(len(password))  # → 12
print(password)  # → ? случайный пароль
import secrets
try:
    secrets.choice([])
except IndexError as e:
    print(type(e).__name__)  # → IndexError

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности