Python str ()

Hàm str () trả về phiên bản chuỗi của đối tượng đã cho.

Cú pháp của str()là:

 str (đối tượng, mã hóa = 'utf-8', lỗi = 'nghiêm ngặt')

Tham số str ()

Các str() phương pháp có ba thông số:

  • đối tượng - Đối tượngobject có biểu diễn chuỗi sẽ được trả về. Nếu không được cung cấp, trả về chuỗi trống
  • encoding - Mã hóa đối tượng nhất định. Giá trị mặc định của UTF-8 khi không được cung cấp.
  • lỗi - Phản ứng khi giải mã thất bại. Mặc định là 'strict'.

Có sáu loại errors:

  • nghiêm ngặt - phản hồi mặc định gây ra UnicodeDecodeErrorngoại lệ khi thất bại
  • bỏ qua - bỏ qua Unicode không thể mã hóa từ kết quả
  • thay thế - thay thế Unicode không thể mã hóa thành một dấu chấm hỏi
  • xmlcharrefreplace - chèn tham chiếu ký tự XML thay vì Unicode không thể mã hóa
  • dấu gạch chéo ngược - chèn một uNNNNchuỗi espace thay vì Unicode không thể mã hóa
  • namereplace - chèn một N(… )chuỗi thoát thay vì Unicode không thể mã hóa

Trả về giá trị từ str ()

Các str()phương thức trả về một chuỗi, mà được coi là đại diện chính thức hoặc độc đáo in của đối tượng nhất định.

Ví dụ 1: Chuyển đổi thành chuỗi

Nếu thông số mã hóalỗi không được cung cấp, str()nội bộ sẽ gọi __str__()phương thức của một đối tượng.

Nếu nó không thể tìm thấy __str__()phương thức, nó sẽ gọi repr (obj).

 result = str(10) print(result)

Đầu ra

 10 

Lưu ý: Biến kết quả sẽ chứa một chuỗi.

Cũng thử các lệnh này trên bảng điều khiển Python.

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

Ví dụ 2: str () hoạt động như thế nào đối với byte?

Nếu encodingerrorstham số được cung cấp, thì tham số đầu tiên, đối tượng , phải là một đối tượng giống byte (byte hoặc bytearray).

Nếu đối tượng là byte hoặc bytearray , sẽ str()gọi nội bộ bytes.decode(encoding, errors).

Nếu không, nó lấy đối tượng byte trong bộ đệm trước khi gọi decode()phương thức.

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

Đầu ra

 pythn 

Ở đây, ký tự 'ö'không thể được giải mã bằng ASCII. Do đó, nó sẽ đưa ra một lỗi. Tuy nhiên, chúng tôi đã thiết lập errors ='ignore'. Do đó, Python bỏ qua ký tự không thể được giải mã bởi str().

thú vị bài viết...