Функция str() в Python
str()Это одна из наиболее часто используемых встроенных функций в Python, используемая для преобразования других типов данных в строковый тип.
Строка — один из наиболее часто используемых типов данных в Python,str()Функция помогает нам преобразовывать числа, списки, кортежи и т. д. в строки, что удобно для вывода и конкатенации.
Значение слова: strДаstringСокращение от (строки).
Базовый синтаксис и параметры
str()Это встроенная функция, которую можно вызывать напрямую.
Формат синтаксиса
str(object) str(object, encoding) str(object, errors)
Описание параметра
- Параметр object:
- Тип: любой объект
- Описание: Объект, который нужно преобразовать в строку.
- Параметр encoding(необязательный):
- Тип: String
- Описание: Формат кодировки (например, 'utf-8', 'gbk').
- Параметр errors(необязательный):
- Тип: String
- Описание: Метод обработки ошибок, по умолчанию 'strict' (вызывает исключение). Другие варианты: 'ignore', 'replace'.
Описание функций
- Возвращаемое значение: Возвращает строковый объект.
- Поведение по умолчанию: Возвращает пустую строку при вызове без параметров.
""。
Примеры
Давайте освоим на примерахstr()использование.
Пример 1: Базовое использование — преобразование различных типов
Пример
# Преобразование целого числа в строку
print(str(123)) # Вывод: 123
print(type(str(123))) # Вывод: <class 'str'>
# Преобразование числа с плавающей запятой в строку
print(str(3.14159)) # Вывод: 3.14159
# Преобразовать логическое значение в строку
print(str(True)) # Вывод: True
print(str(False)) # Вывод: False
# Преобразовать список в строку
print(str([1, 2, 3])) # Вывод: [1, 2, 3]
# Преобразовать кортеж в строку
print(str((1, 2, 3))) # Вывод: (1, 2, 3)
# Преобразовать словарь в строку
print(str({"name": "Tom", "age": 20})) # Вывод: {'name': 'Tom', 'age': 20}
# Без аргумента
print(str()) # Вывод: (пустая строка)
print(str(123)) # Вывод: 123
print(type(str(123))) # Вывод: <class 'str'>
# Преобразование числа с плавающей запятой в строку
print(str(3.14159)) # Вывод: 3.14159
# Преобразовать логическое значение в строку
print(str(True)) # Вывод: True
print(str(False)) # Вывод: False
# Преобразовать список в строку
print(str([1, 2, 3])) # Вывод: [1, 2, 3]
# Преобразовать кортеж в строку
print(str((1, 2, 3))) # Вывод: (1, 2, 3)
# Преобразовать словарь в строку
print(str({"name": "Tom", "age": 20})) # Вывод: {'name': 'Tom', 'age': 20}
# Без аргумента
print(str()) # Вывод: (пустая строка)
Ожидаемый вывод:
123
<class 'str'>
3.14159
True
False
[1, 2, 3]
(1, 2, 3)
{'name': 'Tom', 'age': 20}
Пояснение кода:
- Когда числа преобразуются в строки, их исходное числовое представление сохраняется.
- Когда логические значения преобразуются в строки, первая буква делается заглавной.
- Контейнерные типы, такие как списки, кортежи и словари, преобразуются в свои строковые представления.
Пример 2: Конкатенация строк
Пример
name = "Tom"
age = 20
height = 1.75
# Конкатенация после преобразования с помощью str()
info = name + " " + str(age) + " years old " + str(height) + " meters"
print(info) # Вывод: Tom 20 years old 1.75 meters
# Использование f-строки (рекомендуется)
info = f"{name} {age} years old {height} meters"
print(info) # Вывод: Tom 20 years old 1.75 meters
# Форматированный вывод
print("Name: " + str(name)) # Вывод: Name: Tom
age = 20
height = 1.75
# Конкатенация после преобразования с помощью str()
info = name + " " + str(age) + " years old " + str(height) + " meters"
print(info) # Вывод: Tom 20 years old 1.75 meters
# Использование f-строки (рекомендуется)
info = f"{name} {age} years old {height} meters"
print(info) # Вывод: Tom 20 years old 1.75 meters
# Форматированный вывод
print("Name: " + str(name)) # Вывод: Name: Tom
Ожидаемый вывод:
Tom 20岁 1.75米 Tom 20岁 1.75米 姓名: Tom
Пояснение кода:
str()После преобразования можно использовать знак плюс для конкатенации строк.- Современный Python рекомендует использовать f-string для форматирования строк — это более кратко и удобочитаемо.
Пример 3: Обработка байтов и кодировки
Пример
# Преобразовать байты в строку (необходимо указать кодировку)
data = b"Hello"
s = str(data, encoding='utf-8')
print(s) # Вывод: Hello
# Обработка ошибок кодировки
data = b"Hello\x80"
s = str(data, encoding='utf-8', errors='ignore')
print(s) # Вывод: Hello (недопустимые байты игнорируются)
s = str(data, encoding='utf-8', errors='replace')
print(s) # Вывод: Hello (заменён на символ замены)
data = b"Hello"
s = str(data, encoding='utf-8')
print(s) # Вывод: Hello
# Обработка ошибок кодировки
data = b"Hello\x80"
s = str(data, encoding='utf-8', errors='ignore')
print(s) # Вывод: Hello (недопустимые байты игнорируются)
s = str(data, encoding='utf-8', errors='replace')
print(s) # Вывод: Hello (заменён на символ замены)
Ожидаемый вывод:
Hello Hello Hello
Этот пример демонстрируетstr()использование при работе с байтами и кодировкой.
Другие расширения
Встроенные функции Python3