มารู้จักกับ ฟังก์ชั่น built in ที่มีชื่อว่า getattr ของ python ไว้ใช้ ใช้แสดงค่าของ object

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

มารู้จักกับ ฟังก์ชั่น built in ที่มีชื่อว่า getattr ของ python ไว้ใช้ ใช้แสดงค่าของ object

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

ฟังก์ชั่น built in ที่มีชื่อว่า getattr ของ python
Function built in คือ เป็นฟังก์ชั่นในภาษา python ที่สามารถทำการเรียกใช้งานได้ทันที ซึ่งบ้างฟังก์ชั่นของภาษา python นั่นต้องทำการเรียกใช้โดยการ import มาก่อน ก่อนที่จะทำการใช้ครับ ในวันนี้ผมจะมีความรู้และตัวอย่างของตัวฟังก์ชั่น built in มาให้ก็คือ ฟังก์ชั่น getattr() ฟังก์ชั่นตัวนี้สามารถใช้แสดงค่าของ object เช่น ตัวแปรที่อยู่ภายในclass ซึ่งก็จะมีรูปแบบและตัวอย่างดังต่อไปนี้

รูปแบบของ ฟังก์ชั่น getattr()

โค้ด: เลือกทั้งหมด

getattr(object, name[, default])
ตัวอย่างโค้ด

โค้ด: เลือกทั้งหมด

class preson():
    fristname='My'
    lastname='Python'
    age=23
    email ='[email protected]'
var_preson = getattr(preson,'email')
print(var_preson)
จากโค้ดด้านบนนะครับให้ทำการแสดงค่าตัวแปร email ใน class preson จึงได้ผลลัพธ์
Selection_035.png
Selection_035.png (7.34 KiB) Viewed 1261 times
อีกตัวอย่าง

โค้ด: เลือกทั้งหมด

class preson():
    fristname='My'
    lastname='Python'
    age=23
    email ='[email protected]'
    
for var_preson in dir(preson):
    print("preson.%s = %r" % (var_preson, getattr(preson, var_preson)))
จะได้ผลลัพธ์ดังนี้

โค้ด: เลือกทั้งหมด

preson.__class__ = <class 'type'>
preson.__delattr__ = <slot wrapper '__delattr__' of 'object' objects>
preson.__dict__ = mappingproxy({'__module__': '__main__', 'fristname': 'My', 'lastname': 'Python', 'age': 23, 'email': '[email protected]', '__dict__': <attribute '__dict__' of 'preson' objects>, '__weakref__': <attribute '__weakref__' of 'preson' objects>, '__doc__': None})
preson.__dir__ = <method '__dir__' of 'object' objects>
preson.__doc__ = None
preson.__eq__ = <slot wrapper '__eq__' of 'object' objects>
preson.__format__ = <method '__format__' of 'object' objects>
preson.__ge__ = <slot wrapper '__ge__' of 'object' objects>
preson.__getattribute__ = <slot wrapper '__getattribute__' of 'object' objects>
preson.__gt__ = <slot wrapper '__gt__' of 'object' objects>
preson.__hash__ = <slot wrapper '__hash__' of 'object' objects>
preson.__init__ = <slot wrapper '__init__' of 'object' objects>
preson.__init_subclass__ = <built-in method __init_subclass__ of type object at 0x12cc318>
preson.__le__ = <slot wrapper '__le__' of 'object' objects>
preson.__lt__ = <slot wrapper '__lt__' of 'object' objects>
preson.__module__ = '__main__'
preson.__ne__ = <slot wrapper '__ne__' of 'object' objects>
preson.__new__ = <built-in method __new__ of type object at 0x9e5880>
preson.__reduce__ = <method '__reduce__' of 'object' objects>
preson.__reduce_ex__ = <method '__reduce_ex__' of 'object' objects>
preson.__repr__ = <slot wrapper '__repr__' of 'object' objects>
preson.__setattr__ = <slot wrapper '__setattr__' of 'object' objects>
preson.__sizeof__ = <method '__sizeof__' of 'object' objects>
preson.__str__ = <slot wrapper '__str__' of 'object' objects>
preson.__subclasshook__ = <built-in method __subclasshook__ of type object at 0x12cc318>
preson.__weakref__ = <attribute '__weakref__' of 'preson' objects>
preson.age = 23
preson.email = '[email protected]'
preson.fristname = 'My'
preson.lastname = 'Python'

อ้างอิง
https://www.docs.python.org/3/library/functions.html#getattr
https://www.programiz.com/python-programming/methods/built-in/getattr
https://www.stackoverflow.com/questions/4075190/what-is-getattr-exactly-and-how-do-i-use-it
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 77