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

Post a reply


In an effort to prevent automatic submissions, we require that you complete the following challenge.
Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

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

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

by jirawoot » 18/07/2019 4:44 pm

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

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

Code: Select all

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

Code: Select all

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

Code: Select all

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

Code: Select all

preson.__class__ = <class 'type'>
preson.__delattr__ = <slot wrapper '__delattr__' of 'object' objects>
preson.__dict__ = mappingproxy({'__module__': '__main__', 'fristname': 'My', 'lastname': 'Python', 'age': 23, 'email': 'ติดต่อทาง pm', '__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 = 'ติดต่อทาง pm'
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

Top