__str__ con trăn
Chào mừng đến với phần 24 của loạt bài hướng dẫn lập trình Python trung cấp. Trong hướng dẫn này, chúng ta sẽ đề cập đến hai phương pháp đặc biệt mới. 2016-12-04 19:11:30.0723757 và 2016-12-04 19:11:30.0723758 Show Có nhiều cách giải thích khác nhau về việc mỗi cái dùng để làm gì. Sự nhầm lẫn chính, ít nhất là từ những gì tôi có thể nói, là 2016-12-04 19:11:30.0723758 thực sự khác với 2016-12-04 19:11:30.0723757 ở đâu và như thế nào Phương thức 2016-12-04 19:11:30.0723757 hữu ích cho biểu diễn chuỗi của đối tượng, khi ai đó viết mã bằng print(str(datetime.datetime.now()))4 hoặc thậm chí khi ai đó có thể làm print(str(datetime.datetime.now()))5. Phương pháp 2016-12-04 19:11:30.0723757 là phương pháp dễ đọc nhất có thể với con người, nhưng cũng mô tả chính xác đối tượng đó Phương thức 2016-12-04 19:11:30.0723758 xuất hiện khi làm điều gì đó như print(str(datetime.datetime.now()))8 hoặc khi một lập trình viên thực sự có thể chỉ cần nhập đối tượng trực tiếp vào trình thông dịch. Phương thức repr thực sự chỉ dành cho các nhà phát triển và nhiều hơn nữa để gỡ lỗi hơn là sử dụng mô-đun thực tế. Vì lý do này, có thể bạn chưa bao giờ nghe nói về 2016-12-04 19:11:30.0723758 cho đến bây giờ, nhưng có lẽ bạn đã nhận thấy sự khác biệt giữa việc chỉ gọi đối tượng và phiên bản str() của đối tượng đó. Hãy xem một ví dụ với 2016-12-04 19:11:30.07237530 2016-12-04 19:11:30.0723754 Nếu bạn có cả phương pháp 2016-12-04 19:11:30.0723758 và 2016-12-04 19:11:30.0723757, thì phương pháp 2016-12-04 19:11:30.0723757 sẽ được ưa chuộng hơn khi bạn sử dụng 2016-12-04 19:11:30.07237534, vì vậy bạn sẽ thấy một ngày khá rõ ràng 2016-12-04 19:11:30.072375 Để chứng minh điều này, chúng ta có thể làm print(str(datetime.datetime.now())) 2016-12-04 19:11:30.0723753 Để xem 2016-12-04 19:11:30.0723758, chúng ta có thể làm 2016-12-04 19:11:30.0723753____24 Ngoài ra, trong trình thông dịch/shell tương tác, bạn chỉ cần nhập đối tượng 2016-12-04 19:11:30.0723755 Chỉ cần gõ đối tượng ra sẽ cung cấp cho bạn 2016-12-04 19:11:30.0723758, hoặc "đại diện" của đối tượng Hãy tạo các phương thức 2016-12-04 19:11:30.0723757 và 2016-12-04 19:11:30.0723758 của riêng chúng ta cho các đốm màu của chúng ta. Hiện tại, tệp 2016-12-04 19:11:30.07237539 của chúng tôi trông giống như 2016-12-04 19:11:30.0723750 Hãy thêm 2016-12-04 19:11:30.0723758 trước 2016-12-04 19:11:30.0723752 Vì vậy, điều này sẽ cung cấp cho chúng ta một đại diện nhanh chóng và bẩn thỉu của đối tượng này. Nó không phải là siêu người có thể đọc được, nhưng ai đó quen thuộc với những gì mong đợi sẽ biết điều này có nghĩa là gì Bây giờ, hãy thực hiện phương pháp 2016-12-04 19:11:30.0723757 2016-12-04 19:11:30.0723754 Rất giống nhau và cả hai phương pháp này đều chứa thông tin giống nhau, nhưng 2016-12-04 19:11:30.0723757 thân thiện với con người hơn một chút Bây giờ, lấy blobworld của chúng tôi. tệp py, đó là 2016-12-04 19:11:30.0723750 Chúng ta chỉ có thể thay đổi những gì xảy ra trong phần 2016-12-04 19:11:30.07237533 thành 2016-12-04 19:11:30.0723751 Chạy nó, sau đó chúng ta có thể chơi trong shell. Chỉ tham khảo đối tượng 2016-12-04 19:11:30.0723752 Ở trên cho chúng ta phương pháp 2016-12-04 19:11:30.0723758. Tiếp theo chúng ta có thể làm 2016-12-04 19:11:30.0723753 Ở trên cung cấp cho chúng tôi phương pháp 2016-12-04 19:11:30.0723757, mà chúng tôi cũng nhận được nếu chúng tôi sử dụng 2016-12-04 19:11:30.07237534 2016-12-04 19:11:30.0723754 Nếu chúng ta loại bỏ phương thức 2016-12-04 19:11:30.0723757, thì Python sẽ mặc định cung cấp cho chúng ta phương thức 2016-12-04 19:11:30.0723758, như 2016-12-04 19:11:30.0723755 Nếu chúng tôi xóa 2016-12-04 19:11:30.0723758, mọi tham chiếu đến đối tượng sẽ trở về mặc định, chẳng hạn như 2016-12-04 19:11:30.0723756 Đối với lập trình viên Python điển hình, thông tin này là vô giá trị, đó là lý do tại sao sẽ hữu ích nếu bạn với tư cách là nhà phát triển chương trình thực sự thêm vào các phương thức 2016-12-04 19:11:30.0723757 và 2016-12-04 19:11:30.0723758, tất nhiên là giả sử rằng bạn làm cho kết quả đầu ra của chúng thực sự hữu ích __ str __ trong Python là gì?Trăn __str__()
. Phương thức này được gọi khi hàm print() hoặc str() được gọi trên một đối tượng. Phương thức này phải trả về đối tượng String. This method returns the string representation of the object. This method is called when print() or str() function is invoked on an object. This method must return the String object.
Đâu là sự khác biệt giữa __ repr __ và __ str __ ?Sau đây là sự khác biệt. str() được sử dụng để tạo đầu ra cho người dùng cuối trong khi repr() chủ yếu được sử dụng để gỡ lỗi và phát triển. mục tiêu của repr là rõ ràng và str là có thể đọc được
Bạn có thể gọi trực tiếp phương thức __ str __ không?Câu trả lời ngắn. Có. Được gọi bởi str(object) và các hàm tích hợp format() và print() để tính toán biểu diễn chuỗi “không chính thức” hoặc có thể in được của một đối tượng. Giá trị trả về phải là một đối tượng chuỗi.
str() nghĩa là gì trong Python?Hàm str() chuyển đổi giá trị đã chỉ định thành một chuỗi . |