Jak zmienić dowolny typ danych w łańcuch znaków w Pythonie?jak zmienić dowolny typ danych na ciąg w pytonie
Odpowiedz
myvariable = 4
mystring = str(myvariable) # '4'
również alternatywnie spróbować repr:
mystring = repr(myvariable) # '4'
ten nazywany jest "konwersja" w Pythonie i jest dość powszechne.
Nie użyłbym repr (myvariable) - często zwraca informacje o typie klasy, adresie pamięci itp. Jest bardziej przydatny do debugowania. Użyj str (myvariable) do konwersji na łańcuch i unicode (zmienny) w celu konwersji do unicode. – Abgan
Całkowicie zgadzam się z Abganem, dziękuję za opracowanie. –
A co z unikodem? Coś takiego jak 'str (u'ä ')' nie zadziała. Jednak 'repr (u'ä ')' zadziała. –
Z str(x)
. Jednak każdy typ danych może definiować własną konwersję ciągów znaków, więc może to nie być to, czego potrzebujesz.
Jest to ważne, ale rzadko brane pod uwagę. Dobrze, że o tym wspomniałeś. – jathanism
str(object)
załatwi sprawę.
Jeśli chcesz zmienić sposób, w jaki obiekt jest usztywniany, zdefiniuj metodę __str__(self)
dla klasy obiektu. Taka metoda musi zwracać obiekt str lub unicode.
Która metoda jest skuteczna? 'str (any_var)' lub 'any_var .__ str __()' –
@ Kedar.Aitawdekar: Nawet jeśli zauważalna jest różnica w czasie wykonywania (co do którego wątpię, ale zachęcam do sprawdzenia go za pomocą modułu 'timeit'), powinieneś użyj 'str (any_var)', ponieważ jest bardziej czytelny dla ludzi i pozwala korzystać z przypadków, gdy 'any_var' definiuje' __repr __() ', ale nie definiuje' __str __() '. – Abgan
Dziękuję za odpowiedź. –
Wystarczy użyć str
- na przykład:
>>> str([])
'[]'
Korzystanie z str
wbudowane:
x = str(something)
Przykłady:
>>> str(1)
'1'
>>> str(1.0)
'1.0'
>>> str([])
'[]'
>>> str({})
'{}'
...
Z dokumentacji:
Powoduje zwrócenie ciągu zawierającego dobrze drukowaną reprezentację obiektu. W przypadku łańcuchów zwraca ciąg znaków. Różnica z repr (object) polega na tym, że str (object) nie zawsze próbuje zwrócić łańcuch, który jest akceptowalny dla eval(); jego celem jest zwrócenie łańcucha nadającego się do drukowania. Jeśli nie podano żadnego argumentu, zwraca pusty łańcuch, "".
str
służy do tworzenia reprezentacji ciągów danych obiektu. Jeśli piszesz swoją klasę i chcesz str
pracować dla Ciebie, dodać:
def __str__(self):
return ...
print str(myObj)
wezwie myObj.__str__()
.
repr
jest podobną metodą, która generalnie generuje informacje na temat informacji o klasie. W przypadku większości obiektów biblioteki rdzeniowej, repr
tworzy nazwę klasy (i czasami niektóre informacje o klasie) między nawiasami ostrymi. repr
zostanie użyty, na przykład, po prostu wpisując obiekt w okienku interakcji, bez używania print
lub czegokolwiek innego.
Można zdefiniować zachowanie repr
dla własnych obiektów jak można zdefiniować zachowanie str
:
def __repr__(self):
return ...
>>> myObj
w swoim okienku Interakcje lub repr(myObj)
spowoduje myObj.__repr__()
I zobacz wszystkie odpowiedzi polecam używając str(object)
. Może się to nie udać, jeśli obiekt ma więcej niż znaki ASCII, a zobaczysz błąd podobny do tego: ordinal not in range(128)
.To był przypadek dla mnie, a ja konwersji listy ciąg w języku innym niż angielski
postanowiłem go za pomocą unicode(object)
HTH
w Pythonie 3.0, str (obiekt) domyślnie unicode – dmjalund
można użyć% s w sposób jak poniżej
>>> "%s" %([])
'[]'
użyć formatowania:
"%s" % (x)
Ex obszerna:
x = time.ctime(); str = "%s" % (x); print str
wyjścia: Thu Jan 11 20:40:05 2018
- 1. Konwertuj z ciąg na dowolny podstawowy typ
- 2. Konwertuj dowolny rekord na ciąg i powróć?
- 3. Konwertuj dowolny ciąg na xml w rubinie
- 4. Konwersja json na ciąg w pytonie
- 5. Jak określić typ danych zmiennych? Jak przekonwertować na ciąg?
- 6. Jak przekonwertować dowolny typ na String w Julia
- 7. Czy można zmienić typ danych z String na Date
- 8. Jak zmienić typ danych dla kolumny w MySQL?
- 9. Jak zmienić typ źródła danych w pliku raportów kryształów?
- 10. Jak zmienić etykiety czynników w ciąg w ramce danych
- 11. Jak zmienić typ danych kolumny w tabeli PostgreSQL?
- 12. drukowana zmienna i ciąg w pytonie
- 13. Jak przekonwertować typ podwójny na ciąg iPhone'a?
- 14. Dziesiętny na szesnastkowy w pytonie
- 15. Jak zmienić ciąg na wielkie litery
- 16. Jak zmienić typ zawartości w obsługi wyjątków
- 17. Konwertuj ciąg do listy w pytonie
- 18. Jak przekonwertować z typu danych na ciąg do daty?
- 19. Jak zmienić typ numpy recarray?
- 20. Jak automatycznie zmienić ciąg połączenia na kompilacji z Nant
- 21. jak zmienić zmienną zakresu czasu na typ całkowity?
- 22. NSJSONSerialization - Nie można przekonwertować danych na ciąg
- 23. Jak zmienić typ czcionki w widżecie twitter.com?
- 24. Jak zmienić typ grotu strzałki?
- 25. Jak zmienić ciąg w InputStreamReader w java?
- 26. Jak zmienić typ kolumny macierzy w R
- 27. Jak zmienić typ instancji w amazon ec2
- 28. Jak zmienić typ w drzewie wyrażeń?
- 29. Latarka - Jak zmienić typ napinacza?
- 30. jak zmienić typ parametru w wyrażeniu?
'str (VAR)'? czy tego szukasz? – SilentGhost
Czy chcesz mieć czytelne ciągi znaków w postaci czytelnej dla człowieka? A może chcesz zorientować się na bajt w pamięci zawierającej dane? –