- Как сгенерировать случайную строку в Python?
- Импорт строковых и случайных модулей
- Сгенерировать случайную строку Python
- Модуль string
- Модуль random
- Код и объяснение
- Строка в разных случаях
- Криптографически безопасные строки
- Заключительные мысли
- Python string Module
- Python String Module:
- Python String Module Properties:
- string.ascii_letters
- string.ascii_lowercase:
- string.ascii_uppercase:
- string.digits:
- string.hexdigits:
- string.octdigits:
- string.punctuation:
- string.whitespace:
- string.printable:
- Python string module Helper Functions:
- capwords(s, sep = None)
- Example 1:
- Example 2:
- Python string module Classes:
- Formatter:
- Template:
- Conclusion:
Как сгенерировать случайную строку в Python?
В этом коротком руководстве мы рассмотрим, как сгенерировать случайную строку в Python. Мы также рассмотрим все возможные типы строк.
Импорт строковых и случайных модулей
Для генерации случайных строк в Python мы используем модули string и random . Модуль string содержит строковые константы Ascii в различных текстовых регистрах, цифрах и т.д. Модуль random , с другой стороны, используется для генерации псевдослучайных значений. В последнем методе мы будем использовать модуль secrets, чтобы помочь нам генерировать криптографически безопасные строки.
Сгенерировать случайную строку Python
Случайные строки обычно генерируются и широко используются. Хотя они обслуживают большое количество вариантов использования, наиболее распространенными из них являются случайные имена пользователей-заполнители, случайные номера телефонов, пароли и т.д.
Модуль string
Прежде чем использовать строковый модуль для генерации случайной строки, давайте посмотрим на различные типы доступных строковых констант.
- String.ascii_letters — возвращает строку букв, содержащих различные регистры.
- String.ascii_lowercase — возвращает строку с буквами в нижнем регистре.
- String.ascii_uppercase — возвращает строку с прописными буквами.
- String.digits — возвращает строку, содержащую цифры
- String.punctuation — возвращает строку, содержащую знаки препинания. Я перечислил наиболее часто используемые строковые константы. Однако вы можете просмотреть весь список в документации модуля (модуль String).
Модуль random
Модуль random довольно прост. Он помогает нам выбрать персонажа наугад. Мы используем этот метод для выбора символов из строковой константы.
Однако есть две важные последовательности, о которых вам следует знать:
- Random.choices — возвращает элементы в случайном порядке. Здесь персонажи не могут быть уникальными.
- Random.sample — возвращает уникальные элементы. Итак, при генерации случайной строки в Python, если вас устраивают повторяющиеся символы, вы можете использовать первый метод, а второй, если вам нужны уникальные символы.
Код и объяснение
import random import string print(random.choices(string.ascii_lowercase))
Этот сгенерированный код возвращает один случайный символ. Вы можете изменить метод строковой константы в зависимости от желаемых символов.
Теперь давайте напишем код для генерации строки длиной 5.
import random import string print(''.join(random.choices(string.ascii_lowercase, k=5)))
Для этого мы передаем еще один аргумент «k», который обозначает размер строки. Этот метод возвращает список символов, поэтому мы используем метод соединения, чтобы преобразовать его в строку.
Строка в разных случаях
В предыдущем методе мы использовали string.ascii_lowercase. Давайте постоянно пробовать буквы, мы также можем объединить два разных типа констант.
Случайная строка в верхнем регистре:
import random import string print(''.join(random.choices(string.ascii_uppercase, k=5)))
import random import string print(''.join(random.choices(string.ascii_letters, k=5)))
Объединение различных типов строковых констант:
import random import string print(''.join(random.choices(string.ascii_uppercase + string.ascii_lowercase, k=5)))
Я не предоставил фрагменты вывода, так как мои результаты будут отличаться от ваших. Кроме того, во всех методах я использовал random.choices. Не стесняйтесь попробовать это, используя также random.sample.
Криптографически безопасные строки
Хотя мы могли бы использовать случайный метод для генерации случайной строки в Python, сгенерированная строка не является криптографически безопасной. Следовательно, не рекомендуется создавать временные пароли.
Python версии 3.6 и выше предлагает лучший способ создания криптографически безопасной случайной строки. Этот метод использует secrets и строковые методы. secrets очень похож на метод random , подробнее о нем вы можете прочитать здесь.
import secrets import string print(''.join(secrets.choice(string.ascii_uppercase + string.ascii_lowercase) for i in range(7)))
Методы secrets не имеют метода .choices , который принимает второй аргумент. Следовательно, мы используем цикл и получаем диапазон количества символов.
Заключительные мысли
Оба метода можно использовать для генерации случайной строки в Python. Однако то, какой метод вы будете использовать, во многом будет зависеть от вашего варианта использования.
Распространенная ошибка, которую я видел у новичков — это то, что они забывают импортировать модуль перед его использованием. Помните об этом, когда будете практиковаться в использовании методов с другим строковым содержимым.
Python string Module
In this article, we are going to learn the Python string module. the string is a built-in module in Python which is used to precess the string.
the string is a built-in module, That means the string is pre-installed with Python. In the previous tutorial, we have seen the Python string HTML module.
To understand this example you should have basic knowledge of Python Programming .
- 1 Python String Module:
- 2 Python String Module Properties:
- 2.1 string.ascii_letters
- 2.2 string.ascii_lowercase:
- 2.3 string.ascii_uppercase:
- 2.4 string.digits:
- 2.5 string.hexdigits:
- 2.6 string.octdigits:
- 2.7 string.punctuation:
- 2.8 string.whitespace:
- 2.9 string.printable:
- 3.1 capwords(s, sep = None)
- 3.1.1 Example 1:
- 3.1.2 Example 2:
- 4.1 Formatter:
- 4.2 Template:
Python String Module:
Python provides a built-in module named string which provides lots of functions and properties to precess the string.
Python string module is a built-in Python module that means you don’t need to install it by using pip. To use the string module in Python you need to import using the import keyword.
Python String Module Properties:
Let’s look constants, define in the string module.
string.ascii_letters
This constants return the combination of ascii.lowercase and ascii.uppercase letters.
import string x = string.ascii_letters print(x)
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
string.ascii_lowercase:
string.ascii_lowercase constants return the lowercase letters.
import string x = string.ascii_lowercase print(x)
abcdefghijklmnopqrstuvwxyz
string.ascii_uppercase:
string.ascii_uppercase constants return the upper case letters.
import string x = string.ascii_uppercase print(x)
ABCDEFGHIJKLMNOPQRSTUVWXYZ
string.digits:
string.digits return the digits.
import string x = string.digits print(x)
string.hexdigits:
The string.hexdigits return the hexadecimal:
import string x = string.hexdigits print(x)
string.octdigits:
The string.octdigits return the hexadecimal.
import string x = string.hexdigits print(x)
Output will be:- 01234567
string.punctuation:
The string.punctuation return the punctuations.
import string x = string.punctuation print(x)
string.whitespace:
The string.whitespace return the whitespaces.
import string x = string.whitespace print(x)
string.printable:
The string.printable constants return the combination of ascii_letters, digits, punctuations and whitespace.
import string x = string.printable print(x)
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;?@[\]^_`<|>~
Python string module Helper Functions:
string module provides function which are used to process the string.
capwords(s, sep = None)
The string.capwords() helper function is used to split the string into the words using str.split() function. Then it capitalizes each word using str.capitalize() function. Finally, it joins the capitalized words using str.join().
Example 1:
import string txt = "Programming Funda is programming portal" x = string.capwords(txt) print(x)
Output will be:- Programming Funda Is Programming Portal
Example 2:
import string txt = " Programming Funda is programming portal " x = string.capwords(txt, "g") print(x)
progRamming funda is progRamming portal
Python string module Classes:
Python built-in string module provide two class Formatter and Template.
Formatter:
Formatter class is used to format the string same as str.format() function.
from string import Formatter formatter = Formatter() print(formatter.format('', portal = 'ProgrammingFunda is a portal')) print(formatter.format('<> ', 'Programming Funda', portal = 'is a programming portal')) print('<> '.format('Welcome to the', portal = 'programming Funda'))
ProgrammingFunda is a portal Programming Funda is a programming portal Welcome to the programming Funda
Template:
Template class is used to create the string template for simple string substitute.
from string import Template temp = Template("$name is the Founder of $portal") s = temp.substitute(name = "Vishvajit Rao", portal = "Programming Funda") print(s)
Vishvajit Rao is the Founder of Programming Funda
Conclusion:
In this tutorial, you have learned about the Python string module. string module in Python provides lots of functions that are used to process the string. This is the legitimate module to work with string.
I hope this tutorial will help you, if you like this article, please comment and share with your friends who want to learn Python programming from scratch to advanced.
For More Information:- Click Here