Как я могу изменить любой тип данных в строку в Python?
Как изменить любой тип данных на строку в python
Ответ 1
myvariable = 4
mystring = str(myvariable) # '4'
также, попробуйте представить:
mystring = repr(myvariable) # '4'
Это называется "преобразованием" в python и довольно распространено.
Ответ 2
str
предназначен для создания строкового представления данных объекта. Если вы пишете свой собственный класс и хотите, чтобы str
работал на вас, добавьте:
def __str__(self):
return ...
print str(myObj)
вызовет myObj.__str__()
.
repr
- это аналогичный метод, который обычно дает информацию о информации о классе. Для большинства объектов основной библиотеки repr
создает имя класса (и иногда некоторую информацию о классе) между угловыми скобками. repr
будет использоваться, например, просто введя свой объект в область взаимодействия, не используя print
или что-нибудь еще.
Вы можете определить поведение repr
для своих собственных объектов так же, как вы можете определить поведение str
:
def __repr__(self):
return ...
>>> myObj
в области взаимодействий или repr(myObj)
приведет к myObj.__repr__()
Ответ 3
Используйте str
встроенный:
x = str(something)
Примеры:
>>> str(1)
'1'
>>> str(1.0)
'1.0'
>>> str([])
'[]'
>>> str({})
'{}'
...
Из документации:
Возвращает строку, содержащую красиво отображаемое представление объекта. Для строк это возвращает строку. Разница с представлением (объектом) заключается в том, что str (объект) не всегда пытается вернуть строку, приемлемую для eval(); его цель - вернуть печатную строку. Если аргумент не задан, возвращает пустую строку, '..
Ответ 4
Я вижу, что все ответы рекомендуют использовать str(object)
. Он может выйти из строя, если у вашего объекта больше символов ascii, и вы увидите ошибку, например, ordinal not in range(128)
. Это было для меня, когда я преобразовывал список строк на язык, отличный от английского
Я разрешил его, используя unicode(object)
НТН
Ответ 5
str(object)
выполнит трюк.
Если вы хотите изменить способ стробирования объекта, определите метод __str__(self)
для класса объекта. Такой метод должен возвращать объект str или unicode.
Ответ 6
С str(x)
. Однако каждый тип данных может определять собственное преобразование строки, поэтому это может быть не так, как вы хотите.
Ответ 7
Просто используйте str
- например:
>>> str([])
'[]'
Ответ 8
Вы можете использовать% s таким образом, как показано ниже
>>> "%s" %([])
'[]'