Python str ()

Η συνάρτηση 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().

ενδιαφέροντα άρθρα...