Python str ()

Funktionen str () returnerer strengversionen af ​​det givne objekt.

Syntaksen for str()er:

 str (objekt, kodning = 'utf-8', fejl = 'streng')

str () Parametre

Den str() metode tager tre parametre:

  • objekt - objecthvis strengrepræsentation skal returneres. Hvis ikke angivet, returneres den tomme streng
  • kodning - Kodning af det givne objekt. Standardindstillinger for UTF-8, når de ikke leveres.
  • fejl - Svar, når dekodning mislykkes. Som standard er 'strict'.

Der er seks typer af errors:

  • streng - standardrespons, hvilket giver en UnicodeDecodeErrorundtagelse ved fejl
  • ignorere - ignorerer den ukodelige Unicode fra resultatet
  • erstatte - erstatter den ukodelige Unicode til et spørgsmålstegn
  • xmlcharrefreplace - indsætter XML-tegnreference i stedet for unicode Unicode
  • backslashreplace - indsætter en uNNNNespace-sekvens i stedet for unicode Unicode
  • namereplace - indsætter en N(… )flugtsekvens i stedet for unicode, der ikke kan kodes

Returneringsværdi fra str ()

Den str()metode returnerer en streng, der betragtes som en uformelt eller pænt printbare repræsentation af den givne objekt.

Eksempel 1: Konverter til streng

Hvis parameter for kodning og fejl ikke er angivet, str()kalder __str__()metoden til et objekt internt .

Hvis den ikke kan finde __str__()metoden, kalder den i stedet repr (obj).

 result = str(10) print(result)

Produktion

 10 

Bemærk: Resultatvariablen indeholder en streng.

Prøv også disse kommandoer på Python-konsollen.

 >>> str ('Adam')
 >>> str (b'Python! ')

Eksempel 2: Hvordan str () fungerer for bytes?

Hvis encodingog errorsparameter er angivet, skal den første parameter, objekt , være et bytes-lignende-objekt (bytes eller bytearray).

Hvis objektet er byte eller bytearray , str()kalder det internt bytes.decode(encoding, errors).

Ellers får det byteobjektet i bufferen, før decode()metoden kaldes .

 # bytes b = bytes('pythön', encoding='utf-8') print(str(b, encoding='ascii', errors='ignore')) 

Produktion

 pythn 

Her kan tegnet 'ö'ikke dekodes af ASCII. Derfor skal det give en fejl. Vi har dog indstillet errors ='ignore'. Derfor ignorerer Python det tegn, som ikke kan dekodes af str().

Interessante artikler...