Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีแปลงออบเจ็กต์ x เป็น Expression String ใน Python

ฟังก์ชัน str แปลงออบเจ็กต์ใน Python เป็น string representation มีฟังก์ชันอีกตัวหนึ่งชื่อ repr() ใน Python ที่แปลงออบเจ็กต์เป็น expression string เป้าหมายของ __repr__ คือความชัดเจน (unambiguous) ในขณะที่ __str__ เป้าหมายคือความอ่านง่าย (readable) __repr__ ใช้คำนวณ "official" string representation ของออบเจ็กต์

ตัวอย่าง

ลองดูตัวอย่าง datetime เพื่อเข้าใจว่าทั้งสองฟังก์ชันให้ผลต่างกันอย่างไร

import datetime
today = datetime.datetime.now()
str(today)
repr(today)

ผลลัพธ์

'2018-04-08 11:25:36.918979'
'datetime.datetime(2018, 4, 8, 11, 25, 36, 918979)'

จากผลลัพธ์เห็นว่า str ให้ผลลัพธ์ที่สวย อ่านง่าย ส่วน repr ให้การแสดงผลแบบ constructor ของออบเจ็กต์