Η συνάρτηση str () επιστρέφει την έκδοση συμβολοσειράς του δεδομένου αντικειμένου.
Η σύνταξη του str()
είναι:
str (αντικείμενο, κωδικοποίηση = 'utf-8', σφάλματα = 'αυστηρό')
str () Παράμετροι
Η str()
μέθοδος παίρνει τρεις παραμέτρους:
- αντικείμενο - του
object
οποίου η παράσταση συμβολοσειράς πρόκειται να επιστραφεί. Εάν δεν παρέχεται, επιστρέφει την κενή συμβολοσειρά - κωδικοποίηση - Κωδικοποίηση του δεδομένου αντικειμένου. Προεπιλογές του UTF-8 όταν δεν παρέχονται.
- σφάλματα - Απάντηση κατά την αποτυχία της αποκωδικοποίησης. Προεπιλογές
'strict'
.
Υπάρχουν έξι τύποι errors
:
- αυστηρή - προεπιλεγμένη απάντηση που δημιουργεί
UnicodeDecodeError
εξαίρεση στην αποτυχία - αγνοήστε - αγνοεί το unododable Unicode από το αποτέλεσμα
- Αντικατάσταση - αντικαθιστά το unicodable Unicode σε ερωτηματικό
- xmlcharrefreplace - εισάγει αναφορά χαρακτήρων XML αντί για unododable Unicode
- backslashreplace - εισάγει μια
uNNNN
ακολουθία space αντί για unicodable Unicode - namereplace - εισάγει μια
N(… )
ακολουθία διαφυγής αντί για unododable Unicode
Τιμή επιστροφής από str ()
Η str()
μέθοδος επιστρέφει μια συμβολοσειρά, η οποία θεωρείται ανεπίσημη ή ωραία εκτυπώσιμη αναπαράσταση του δεδομένου αντικειμένου.
Παράδειγμα 1: Μετατροπή σε συμβολοσειρά
Εάν δεν παρέχεται παράμετρος κωδικοποίησης και σφαλμάτων , str()
καλεί εσωτερικά τη __str__()
μέθοδο ενός αντικειμένου.
Εάν δεν μπορεί να βρει τη __str__()
μέθοδο, καλεί αντ 'αυτού (rej).
result = str(10) print(result)
Παραγωγή
10
Σημείωση: Η μεταβλητή αποτελέσματος θα περιέχει μια συμβολοσειρά.
Δοκιμάστε επίσης αυτές τις εντολές στην κονσόλα Python.
>>> str («Adam»)
>>> str (b'Python! ')
Παράδειγμα 2: Πώς λειτουργεί το str () για byte;
Εάν παρέχεται encoding
και errors
παράμετρος, η πρώτη παράμετρος, αντικείμενο , θα πρέπει να είναι ένα αντικείμενο τύπου bytes (bytes ή bytearray).
Εάν το αντικείμενο είναι bytes ή bytearray , str()
καλεί εσωτερικά bytes.decode(encoding, errors)
.
Διαφορετικά, παίρνει το αντικείμενο bytes στο buffer πριν καλέσει τη decode()
μέθοδο.
# bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore'))
Παραγωγή
pythn
Εδώ, ο χαρακτήρας 'ö'
δεν μπορεί να αποκωδικοποιηθεί από το ASCII. Ως εκ τούτου, θα πρέπει να δώσει ένα σφάλμα. Ωστόσο, έχουμε ορίσει το errors ='ignore'
. Ως εκ τούτου, η Python αγνοεί τον χαρακτήρα που δεν μπορεί να αποκωδικοποιηθεί str()
.