__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.072375
7 và
2016-12-04 19:11:30.072375
8

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.072375
8 thực sự khác với
2016-12-04 19:11:30.072375
7 ở đâu và như thế nào

Phương thức

2016-12-04 19:11:30.072375
7 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.072375
7 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.072375
8 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.072375
8 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.072375
30

2016-12-04 19:11:30.072375
4

Nếu bạn có cả phương pháp

2016-12-04 19:11:30.072375
8 và
2016-12-04 19:11:30.072375
7, thì phương pháp
2016-12-04 19:11:30.072375
7 sẽ được ưa chuộng hơn khi bạn sử dụng
2016-12-04 19:11:30.072375
34, 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.072375
3

Để xem

2016-12-04 19:11:30.072375
8, chúng ta có thể làm

2016-12-04 19:11:30.072375
3____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.072375
5

Chỉ cần gõ đối tượng ra sẽ cung cấp cho bạn

2016-12-04 19:11:30.072375
8, 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.072375
7 và
2016-12-04 19:11:30.072375
8 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.072375
39 của chúng tôi trông giống như

2016-12-04 19:11:30.072375
0

Hãy thêm

2016-12-04 19:11:30.072375
8 trước

2016-12-04 19:11:30.072375
2

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.072375
7

2016-12-04 19:11:30.072375
4

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.072375
7 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.072375
0

Chúng ta chỉ có thể thay đổi những gì xảy ra trong phần

2016-12-04 19:11:30.072375
33 thành

2016-12-04 19:11:30.072375
1

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.072375
2

Ở trên cho chúng ta phương pháp

2016-12-04 19:11:30.072375
8. Tiếp theo chúng ta có thể làm

2016-12-04 19:11:30.072375
3

Ở trên cung cấp cho chúng tôi phương pháp

2016-12-04 19:11:30.072375
7, 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.072375
34

2016-12-04 19:11:30.072375
4

Nếu chúng ta loại bỏ phương thức

2016-12-04 19:11:30.072375
7, thì Python sẽ mặc định cung cấp cho chúng ta phương thức
2016-12-04 19:11:30.072375
8, như

2016-12-04 19:11:30.072375
5

Nếu chúng tôi xóa

2016-12-04 19:11:30.072375
8, 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.072375
6

Đố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.072375
7 và
2016-12-04 19:11:30.072375
8, 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 .

Chủ Đề