Python được xem là một trong những ngôn ngữ lập trình phổ biến nhất hiện nay. Nếu bạn muốn trở thành một chuyên gia trong ngành này, hãy nắm vững các hàm cơ bản của Python. Một trong số đó là hàm str().
Cú pháp của hàm str() trong Python
Cú pháp của hàm str() trong Python như sau:
str(object, encoding='utf-8', errors='strict')
Tham số của hàm str()
Hàm str() có 3 tham số:
- Đối tượng: Là đối tượng mà bạn muốn chuyển đổi thành chuỗi. Nếu không có đối tượng được cung cấp, kết quả trả về sẽ là một chuỗi trống.
- Encoding: Encoding của đối tượng. Nếu không được cung cấp, encoding mặc định là UTF-8.
- Errors: Phản hồi khi encoding gặp lỗi. Giá trị mặc định là 'strict'.
Hàm str() trong Python trả về dạng chuỗi của một đối tượng
Giá trị trả về của hàm str()
Hàm str() trả về một chuỗi được coi là phiên bản không chính thức hoặc có thể in được của đối tượng.
Ví dụ 1: Chuyển đổi đối tượng thành chuỗi bằng str()
Nếu không cung cấp tham số encoding và errors, hàm str() sẽ gọi phương thức str() nội bộ của đối tượng. Nếu không tìm thấy phương thức str(), nó sẽ gọi hàm repr(obj) để thay thế.
Ví dụ:
tentrang = str('Quantrimang.com') print(tentrang)
Kết quả:
Quantrimang.com
Lưu ý: Kết quả là một chuỗi.
Ví dụ 2: Hàm str() hoạt động với đối tượng dạng bytes
Nếu cung cấp tham số encoding và errors, tham số đầu tiên - đối tượng - phải là một đối tượng dạng bytes (bytes hoặc bytearray). Hàm str() sẽ gọi phương thức bytes.decode(encoding, errors). Nó cũng sẽ lấy đối tượng bytes trong bộ đệm trước khi gọi phương thức decode().
Lỗi trong chuỗi
Khi sử dụng hàm str() trong Python, bạn có thể gặp phải các loại lỗi sau:
- Strict (mặc định): Gây lỗi UnicodeDecodeError.
- Ignore: Bỏ qua Unicode chưa được mã hóa.
- Replace: Thay thế Unicode chưa được mã hóa bằng dấu chấm hỏi.
- xmlcharrefreplace: Chèn tham chiếu ký tự XML thay cho Unicode không thể mã hóa.
- Namereplace: Chèn chuỗi thoát N{...} thay cho một Unicode không thể mã hóa.
Ví dụ:
a = bytes("ŽString", encoding='utf-8') s = str(a, encoding="ascii", errors="ignore") print(s)
Kết quả:
String
Các ngoại lệ của hàm str() trong Python
Có 6 loại lỗi phát sinh từ hàm str():
- Strict (mặc định): Gây lỗi UnicodeDecodeError.
- Ignore: Bỏ qua Unicode không thể mã hóa.
- Replace: Thay thế Unicode không thể mã hóa bằng dấu hỏi.
- xmlcharrefreplace: Chèn tham chiếu ký tự XML thay vì Unicode không thể mã hóa.
- backslashreplace: Chèn một chuỗi uNNNN Espace thay vì Unicode không thể mã hóa.
- Namereplace: Chèn một chuỗi thoát N{...} thay vì Unicode không thể mã hóa.
Ví dụ:
a = bytes("ŽString", encoding='utf-8') s = str(a, encoding="ascii", errors="ignore") print(s)
Kết quả:
String
Với hàm str() trong Python, bạn có thể chuyển đổi đối tượng thành chuỗi một cách dễ dàng. Hãy thử sử dụng hàm này trong các dự án của bạn và khám phá thêm về sức mạnh của Python.
Các bài viết liên quan: