getattr Python คือคำสั่งสำหรับรับค่า หรือดึงค่าของ attribute จาก object ที่ต้องการ คำสั่งนี้รับค่าอาร์กิวเมนต์ 3 ค่า คือ object, ชื่อ attribute ใน object และค่าเริ่มต้นกรณีที่ไม่พบ attribute ดังกล่าว บทความนี้เราจะเรียนรู้วิธีการใช้คำสั่ง getattr พร้อมแสดงผลลัพธ์ และคำอธิบาย มีรายละเอียดดังนี้
ตัวอย่าง การใช้ getattr Python
class Product:
name = "Computer"
amount = 10
name = getattr(Product, 'name')
amount = getattr(Product, 'amount')
price = getattr(Product, 'price', 100)
print(name+' / '+str(amount)+' / '+str(price))
ผลลัพธ์
Computer / 10 / 100
จากตัวอย่างโค้ดอธิบายได้ดังนี้
1. มี class ชื่อ Product ประกอบด้วย attribute 2 อันคือ name เท่ากับ “Computer” และ amount เท่ากับ 10
2. ใช้คำสั่ง getattr ดึงค่า attribute name เก็บไว้ที่ตัวแปร name
3. ใช้คำสั่ง getattr ดึงค่า attribute amount เก็บไว้ที่ตัวแปร amount
4. ใช้คำสั่ง getattr ดึงค่า attribute price เก็บไว้ที่ตัวแปร price และกรณีถ้าไม่พบให้กำหนดค่าเท่ากับ 100
5. ใช้คำสั่ง print แสดงค่า name, amount และ price ออกสู่หน้าจอ