Python генерация случайного числа

Как в python можно сгенерировать случайное (как с указанного диапазона, так и с определённого множества)? Какие могут быть преимущества того или иного способа?

Похожая тема мелькала недавно. Может пригодится.