Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về hàm python repr [] với sự trợ giúp của các ví dụ.
Hàm
repr[obj]6 trả về một biểu diễn có thể in của đối tượng đã cho.
Thí dụ
numbers = [1, 2, 3, 4, 5]
# create a printable representation of the list
printable_numbers = repr[numbers]
print[printable_numbers]
# Output: [1, 2, 3, 4, 5]
cú pháp repr []
Cú pháp của
repr[obj]6 là:
repr[obj]
repr [] tham số
Hàm
repr[obj]6 có một tham số duy nhất:
- obj - đối tượng có đại diện có thể in phải được trả về - the object whose printable representation has to be returned
repr [] giá trị trả về
Hàm
repr[obj]6 trả về một chuỗi đại diện có thể in của đối tượng đã cho.
Ví dụ 1: Làm thế nào repr [] hoạt động trong Python?
var = 'foo'
print[repr[var]]
Đầu ra
'foo'
Ở đây, chúng tôi gán một giá trị
var = 'foo'
print[repr[var]]
0 cho var. Sau đó, hàm repr[obj]6 trả về
var = 'foo'
print[repr[var]]
2, var = 'foo'
print[repr[var]]
0 trong các tài liệu kép.Khi kết quả từ
repr[obj]6 được truyền đến
var = 'foo'
print[repr[var]]
5, chúng tôi sẽ nhận được đối tượng ban đầu [đối với nhiều loại].>>> eval[repr[var]] 'foo'
Ví dụ 2: Triển khai __repr __ [] cho các đối tượng tùy chỉnh
Trong nội bộ,
repr[obj]6Function gọi
var = 'foo'
print[repr[var]]
7 của đối tượng đã cho.Bạn có thể dễ dàng thực hiện/ghi đè
var = 'foo'
print[repr[var]]
7 để repr[obj]6 hoạt động khác nhau.
class Person:
name = 'Adam'
def __repr__[self]:
return repr['Hello ' + self.name ]
print[repr[Person[]]]
Đầu ra
'Hello Adam'
Phương thức print[repr[var]]repr[obj]
6 Trả về một chuỗi chứa một biểu diễn có thể in của một đối tượng. Hàm repr[obj]
6 gọi hàm
7 bên dưới của đối tượng.var = 'foo'
Syntax:
repr[obj]
Parameters:
OBJ: Yêu cầu. Đối tượng có đại diện có thể in được được trả về.
Giá trị trở lại:
Trả về một chuỗi.
Ví dụ sau đây cho thấy phương pháp
repr[obj]6.
________số 8
Hàm
repr[obj]6 trả về biểu diễn chuỗi của giá trị được truyền theo chức năng Eval theo mặc định. Đối với đối tượng lớp tùy chỉnh, nó trả về một chuỗi được đặt trong các khung góc chứa tên và địa chỉ của đối tượng theo mặc định.
class student:
name=''
std = student[]
repr[std]
repr[obj]0
Ghi đè phương thức
var = 'foo'
print[repr[var]]
7 để thay đổi hành vi mặc định này, như được hiển thị bên dưới.repr[obj]1
Bạn muốn kiểm tra xem bạn biết Python bao nhiêu?
Str [] và repr [] Cả hai đều được sử dụng để có được biểu diễn chuỗi của đối tượng.
- Ví dụ về str []:
'foo'
6'foo'
7'foo'
8'foo'
9>>> eval[repr[var]] 'foo'
0>>> eval[repr[var]] 'foo'
1>>> eval[repr[var]] 'foo'
2'foo'
9>>> eval[repr[var]] 'foo'
0>>> eval[repr[var]] 'foo'
1>>> eval[repr[var]] 'foo'
0>>> eval[repr[var]] 'foo'
7>>> eval[repr[var]] 'foo'
8>>> eval[repr[var]] 'foo'
9
0class Person: name = 'Adam'
def __repr__[self]: return repr['Hello ' + self.name ]
Output:
repr[obj]
2 - Ví dụ về repr []:
'foo'
6'foo'
7'foo'
8'foo'
9>>> eval[repr[var]] 'foo'
0>>> eval[repr[var]] 'foo'
1>>> eval[repr[var]] 'foo'
2'foo'
9>>> eval[repr[var]] 'foo'
0>>> eval[repr[var]] 'foo'
1>>> eval[repr[var]] 'foo'
0>>> eval[repr[var]] 'foo'
7>>> eval[repr[var]] 'foo'
8>>> eval[repr[var]] 'foo'
9
0class Person: name = 'Adam'
def __repr__[self]: return repr['Hello ' + self.name ]
print[repr[Person[]]]Output:
repr[obj]
3
.
.
Ví dụ về repr []:
'foo'
9>>> eval[repr[var]] 'foo'
0
6class Person: name = 'Adam'
def __repr__[self]: return repr['Hello ' + self.name ]
print[repr[Person[]]]>>> eval[repr[var]] 'foo'
2. For example, if we suspect a float has a small rounding error, repr will show us while str may not.- repr [] tính toán biểu diễn chuỗi chính thức của một đối tượng [một biểu diễn có tất cả thông tin về đối tượng] và str [] được sử dụng để tính toán biểu diễn chuỗi không chính thức của một đối tượng [một biểu diễn hữu ích để in sự vật].
- Câu lệnh in và hàm tích hợp str [] sử dụng __str__ để hiển thị biểu diễn chuỗi của đối tượng trong khi hàm tích hợp repr [] sử dụng __repr__ để hiển thị đối tượng.
Hãy hiểu điều này bằng một ví dụ:-
'Hello Adam'6
'Hello Adam'7
'Hello Adam'8
'foo'7
repr[obj]
0'foo'9
>>> eval[repr[var]] 'foo'0
>>> eval[repr[var]] 'foo'1
repr[obj]
4'foo'9
>>> eval[repr[var]] 'foo'0
class Person:
name = 'Adam'
def __repr__[self]:
return repr['Hello ' + self.name ]
print[repr[Person[]]]
6repr[obj]
8Output:
repr[obj]4
Str [] hiển thị ngày hôm nay Ngày theo cách mà người dùng có thể hiểu ngày và giờ.
repr [] in biểu diễn chính thức của một đối tượng thời gian ngày [có nghĩa là sử dụng biểu diễn chuỗi chính thức trực tuyến mà chúng ta có thể xây dựng lại đối tượng].
Cách làm cho chúng hoạt động cho các lớp được xác định của chúng tôi? Một lớp do người dùng xác định cũng nên có __repr__ nếu chúng tôi cần thông tin chi tiết để gỡ lỗi. Và nếu chúng tôi nghĩ rằng sẽ rất hữu ích khi có phiên bản chuỗi cho người dùng, chúng tôi sẽ tạo chức năng __str__.
A user defined class should also have a __repr__ if we need detailed
information for debugging. And if we think it would be useful to have a string version for users, we create a __str__ function.
repr[obj]
9 print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
0print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
1print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
2print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
3 print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
4print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
55__print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
7print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
5print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
9'foo'7
class student:
name=''
std = student[]
repr[std]
1print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
7print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
55____94'foo'7
print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
2print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
3 class student:
name=''
std = student[]
repr[std]
9print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
55____101print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
7repr[obj]03
repr[obj]04
repr[obj]05
print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
2print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
3 repr[obj]13
print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
55____101print[repr[10]]
print[repr[10.5]]
print[repr[True]]
print[repr[4+2]]
7repr[obj]03
repr[obj]18
repr[obj]05
Các
'foo'9
>>> eval[repr[var]] 'foo'0
>>> eval[repr[var]] 'foo'1
repr[obj]36
'foo'9
>>> eval[repr[var]] 'foo'0
class Person:
name = 'Adam'
def __repr__[self]:
return repr['Hello ' + self.name ]
print[repr[Person[]]]
6repr[obj]40
Output:
repr[obj]5
Bài viết này được đóng góp bởi Arpit Agarwal. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết và gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác.Arpit Agarwal. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.
Vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác, hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên