__Repr__ danh sách Python
Phương thức Show
cú pháp
Thông sốđối tượng. Yêu cầu. Đối tượng có biểu diễn có thể in được sẽ được trả về Giá trị trả vềTrả về một chuỗi Ví dụ sau minh họa phương thức Ví dụ. đại diện() Sao chép
đầu ra
Theo mặc định, hàm Trong Python, chúng ta thường chuyển đổi bất kỳ đối tượng nào thành chuỗi bằng cách sử dụng hàm 4. Tương tự, chúng ta có thể lấy biểu diễn chuỗi của một đối tượng bằng cách sử dụng hàm 5. Để 4 và 5 tạo ra đầu ra, đối tượng được truyền cho các hàm này phải có phần triển khai của phương thức 8 và phương thức 9 tương ứngThông thường, các nhà phát triển bị nhầm lẫn giữa các chức năng và trường hợp sử dụng của các phương pháp này. Trong phần hướng dẫn này, chúng ta sẽ thảo luận về cách thức hoạt động của hàm 4 và hàm 5 cũng như cách thức mà phương thức 8 và phương thức 9 ảnh hưởng đến hành vi của một đối tượngHàm myNum = 123 myList = [1, 2, 3, 4, 5] mySet = {1, 2, 3, 4, 5} myStr1 = str(myNum) myStr2 = str(myList) myStr3 = str(mySet) print("The number is:", myNum) print("The string is:", myStr1) print("The list is:", myList) print("The string is:", myStr2) print("The set is:", mySet) print("The string is:", myStr3) 4 trong PythonHàm 4 được sử dụng để lấy biểu diễn chuỗi của một đối tượng. Nó lấy một đối tượng làm đối số đầu vào và trả về biểu diễn chuỗi của nó. Chẳng hạn, chúng ta có thể lấy biểu diễn chuỗi của một số dấu phẩy động, như trong ví dụ sau
đầu ra
Tương tự, chúng ta có thể chuyển đổi các đối tượng khác của các kiểu dữ liệu dựng sẵn như số nguyên, danh sách, bộ, bộ, v.v. thành các biểu diễn chuỗi tương ứng của chúng bằng cách sử dụng hàm 4 như hình bên dưới
đầu ra
Tuy nhiên, đầu ra không thể hiểu được khi chúng ta chuyển một đối tượng được xác định bằng định nghĩa lớp tùy chỉnh. Để quan sát điều này, chúng ta hãy định nghĩa một lớp 7 với các thuộc tính 8 và 9
đầu ra
Ở đây, bạn có thể thấy rằng đầu ra của hàm không dễ hiểu như khi chúng ta chuyển đổi một đối tượng được xác định bằng cấu trúc dữ liệu tích hợp. Lý do tại sao điều này xảy ra? Khi chúng ta truyền một đối tượng vào hàm 4, phương thức 8 được định nghĩa trong định nghĩa lớp sẽ được gọi. Phương thức 8 trả về biểu diễn chuỗi của đối tượng. Hàm 4 sau đó trả về cùng một chuỗi. Tuy nhiên, không có phương thức 8 khi chúng ta định nghĩa một lớp tùy chỉnh. Do đó, đầu ra của hàm 4 không dễ hiểu lắmPhương thức myNum = 123 myList = [1, 2, 3, 4, 5] mySet = {1, 2, 3, 4, 5} myStr1 = str(myNum) myStr2 = str(myList) myStr3 = str(mySet) print("The number is:", myNum) print("The string is:", myStr1) print("The list is:", myList) print("The string is:", myStr2) print("The set is:", mySet) print("The string is:", myStr3) 8 trong PythonTheo yêu cầu của chúng tôi, chúng tôi có thể triển khai phương thức 8 trong bất kỳ định nghĩa lớp nào. Hạn chế duy nhất ở đây là phương thức phải trả về một giá trị chuỗi. Ví dụ: chúng ta có thể triển khai phương thức 8 cho lớp 7, như hình bên dưới
Sau khi triển khai phương thức 8, khi chúng ta chuyển bất kỳ đối tượng 7 nào cho hàm 4, nó sẽ trả về cùng một chuỗi được trả về bởi phương thức 8. Ví dụ sau đây cho thấy nó hoạt động như thế nào
đầu ra
Bạn có thể triển khai phương pháp 8 theo bất kỳ cách nào. Chẳng hạn, chúng ta có thể định nghĩa phương thức 8 của lớp 7 theo một cách khác như hình bên dưới
đầu ra 0Cách chúng tôi triển khai phương pháp 8 không ảnh hưởng đến việc thực thi chương trình. Đầu ra của phương pháp 8 chỉ được sử dụng để hiển thị đầu ra cho người dùngHàm myNum = 123 myList = [1, 2, 3, 4, 5] mySet = {1, 2, 3, 4, 5} myStr1 = str(myNum) myStr2 = str(myList) myStr3 = str(mySet) print("The number is:", myNum) print("The string is:", myStr1) print("The list is:", myList) print("The string is:", myStr2) print("The set is:", mySet) print("The string is:", myStr3) 5 trong PythonHàm 5 được sử dụng để lấy biểu diễn chuỗi chính thức của bất kỳ đối tượng nào. Nó cũng lấy một đối tượng làm đầu vào và trả về biểu diễn chuỗi của một đối tượng như hình bên dưới 1đầu ra
Bạn có thể quan sát thấy đầu ra của hàm 5 gần giống với đầu ra của hàm 4. Tuy nhiên, hoạt động của cả hai phương pháp là hoàn toàn khác nhau. Khi chúng ta truyền bất kỳ đối tượng nào vào hàm 4, phương thức 8 sẽ được gọi. Mặt khác, khi chúng ta truyền bất kỳ đối tượng nào vào hàm 5, phương thức 9 sẽ được gọi. Ví dụ sau đây cho thấy nó hoạt động như thế nào 3đầu ra 4Chúng ta đã định nghĩa lớp Student với phương thức 8 tại đây. Bạn có thể quan sát thấy rằng kết quả đầu ra sẽ khác nếu chúng ta chuyển một thể hiện của lớp 7 cho hàm 4 và hàm 5Hàm 4 trả về đầu ra được trả về bởi phương thức 8 trong khi hàm 5 trả về đầu ra được trả về bởi phương thức 9. Nếu chúng ta không triển khai phương thức 8, thì hàm 4 cũng trả về kết quả từ phương thức 9Phương thức myNum = 123 myList = [1, 2, 3, 4, 5] mySet = {1, 2, 3, 4, 5} myStr1 = str(myNum) myStr2 = str(myList) myStr3 = str(mySet) print("The number is:", myNum) print("The string is:", myStr1) print("The list is:", myList) print("The string is:", myStr2) print("The set is:", mySet) print("The string is:", myStr3) 9 trong PythonPhương thức 9 trả về biểu diễn chính tắc của một đối tượng trong python. Phương thức 9 được triển khai cho tất cả các đối tượng trong python bất kể chúng là phiên bản của các lớp tích hợp hay tùy chỉnh. Bạn có thể hiểu định nghĩa của phương thức 9 cho các đối tượng được định nghĩa bằng các lớp tùy chỉnh như sau 5Ở đây, 2 biểu thị mô-đun trong đó đối tượng hiện tại được tạo, 3 biểu thị tên của lớp và 4 biểu thị danh tính của đối tượng ở định dạng thập lục phân. Ví dụ sau đây cho thấy nó hoạt động như thế nào 6đầu ra 7Ở đây, bạn có thể thấy rằng đầu ra của phương thức 9 tương tự như lược đồ được định nghĩa trong định nghĩa phương thức. Đầu ra cho thấy rằng đối tượng đã được xác định trong mô-đun 6 và thuộc lớp 7. Đầu ra cũng hiển thị danh tính của đối tượngBạn nên luôn tránh ghi đè phương thức 9. Điều này là do phương thức 9 được sử dụng để tạo một biểu diễn chuỗi chuẩn của đối tượng, với sự trợ giúp của phương thức này chúng ta có thể khởi tạo lại cùng một đối tượngTuy nhiên, nếu chúng ta ghi đè phương thức 9, chúng ta sẽ không thể tạo đối tượng từ biểu diễn chuỗi của nó bằng hàm 1Như chúng ta đã thảo luận về những điều cơ bản của phương pháp 8 và phương pháp 9, hãy để chúng tôi liệt kê một số khác biệt giữa hai phương phápmyNum = 123 myList = [1, 2, 3, 4, 5] mySet = {1, 2, 3, 4, 5} myStr1 = str(myNum) myStr2 = str(myList) myStr3 = str(mySet) print("The number is:", myNum) print("The string is:", myStr1) print("The list is:", myList) print("The string is:", myStr2) print("The set is:", mySet) print("The string is:", myStr3) 8 so với myNum = 123 myList = [1, 2, 3, 4, 5] mySet = {1, 2, 3, 4, 5} myStr1 = str(myNum) myStr2 = str(myList) myStr3 = str(mySet) print("The number is:", myNum) print("The string is:", myStr1) print("The list is:", myList) print("The string is:", myStr2) print("The set is:", mySet) print("The string is:", myStr3) 9 trong PythonPhương thức 8 trả về dạng chuỗi mà người dùng có thể đọc được của một đối tượng mà nhà phát triển có thể tùy chỉnh. Tuy nhiên, phương thức 9 trả về một biểu diễn chuỗi chính tắc của chuỗi. Trong một số trường hợp, chuỗi được trả về bởi phương thức 8 có thể giống với chuỗi được trả về bởi phương thức 9. Bạn có thể quan sát điều này trong trường hợp sốTuy nhiên, khi chúng ta lấy một chuỗi hoặc một đối tượng bằng cách sử dụng định nghĩa lớp tùy chỉnh, thì chuỗi được trả về bởi phương thức 9 khác với chuỗi được trả về bởi phương thức 8. Ví dụ sau đây cho thấy nó hoạt động như thế nào 8đầu ra 9Tại đây, bạn có thể quan sát thấy rằng chuỗi được trả về bởi phương thức 8 là 03. Mặt khác, phương thức 9 trả về biểu diễn chuỗi chính tắc 05
0đầu ra 1Ở đây, bạn có thể quan sát thấy rằng chúng ta có thể lấy một đối tượng số nguyên từ biểu diễn chuỗi của số nguyên thu được bằng phương thức 8 và phương thức 9. Bây giờ, hãy xem ví dụ sau 2đầu ra 3Bạn có thể thấy rằng chúng ta có thể tạo một đối tượng chuỗi từ chuỗi được trả về bởi phương thức 9. Tuy nhiên, khi chúng ta thử tạo đối tượng chuỗi bằng cách sử dụng chuỗi được trả về bởi phương thức 8, chương trình gặp phải ngoại lệ 14
Phần kết luậnTrong bài viết này, chúng ta đã thảo luận về hoạt động của hàm 4, phương thức 8, hàm 5 và phương thức 9. Chúng tôi cũng đã thảo luận về sự khác biệt giữa việc sử dụng phương pháp 8 và phương pháp 9Mặc dù kết quả đầu ra của cả hai phương pháp là tương tự nhau, nhưng có những khác biệt rõ ràng khiến phương pháp 9 và phương pháp 8 rất khác nhau. Tôi khuyên bạn nên sử dụng phương thức 9 để lấy biểu diễn chuỗi của các đối tượng trong trường hợp bạn cần khởi tạo lại đối tượng bằng cách sử dụng biểu diễn chuỗiMặt khác, bạn nên sử dụng phương pháp 8 để tạo ra một biểu diễn mà con người có thể đọc được đối tượng không được sử dụng trong chương trình ngoài việc thông báo cho người dùng
Mục đích của __ repr __ là gì?Theo tài liệu chính thức, __repr__ được sử dụng để tính toán biểu diễn chuỗi "chính thức" của một đối tượng và thường được sử dụng để gỡ lỗi.
__ str __ và __ repr __ trong Python là gì?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.
repr trong các phương thức ma thuật Python là gì?Python __repr__() là một trong những phương thức kỳ diệu trả về một biểu diễn có thể in được của một đối tượng trong Python có thể được tùy chỉnh hoặc xác định trước , . e. chúng ta cũng có thể tạo biểu diễn chuỗi của đối tượng theo nhu cầu của chúng ta.
Phương thức list __ str __ trong Python là gì?__str__ được dùng để biểu diễn chuỗi của một đối tượng khi sử dụng print . Nhưng vì bạn đang in một danh sách các đối tượng và không lặp lại danh sách để gọi phương thức str cho từng mục nên nó sẽ in ra biểu diễn các đối tượng. Sau đó, bạn sẽ nhận được " danh sách của tôi là [1, 2, 3] " làm đầu ra của bạn. |