अजगर गेटैट ()

Getattr () विधि किसी ऑब्जेक्ट की नामित विशेषता का मान लौटाती है। यदि नहीं मिला है, तो यह फ़ंक्शन को प्रदान किया गया डिफ़ॉल्ट मान लौटाता है।

getattr()विधि का सिंटैक्स है:

 getattr (ऑब्जेक्ट, नाम (डिफ़ॉल्ट))

उपरोक्त सिंटैक्स इसके बराबर है:

 ऑब्जेक्ट

getattr () पैरामीटर

getattr() विधि कई मापदंडों लेता है:

  • ऑब्जेक्ट - ऑब्जेक्ट जिसका नाम विशेषता के मूल्य को वापस करना है
  • नाम - स्ट्रिंग जिसमें विशेषता का नाम होता है
  • डिफ़ॉल्ट (वैकल्पिक) - वह मान जो लौटाया गया है जब नामित विशेषता नहीं मिली है

Getattr से वापसी मान ()

getattr() विधि रिटर्न:

  • दिए गए ऑब्जेक्ट की नामित विशेषता का मूल्य
  • default, यदि कोई नामित विशेषता नहीं मिली है
  • AttributeErrorअपवाद, यदि नामित विशेषता नहीं मिली है और defaultपरिभाषित नहीं है

उदाहरण 1: पायथन में कैसे काम करता है?

 class Person: age = 23 name = "Adam" person = Person() print('The age is:', getattr(person, "age")) print('The age is:', person.age)

आउटपुट

 उम्र है: 23 उम्र है: 23 

उदाहरण 2: getattr () जब नामित विशेषता नहीं मिली है

 class Person: age = 23 name = "Adam" person = Person() # when default value is provided print('The sex is:', getattr(person, 'sex', 'Male')) # when no default value is provided print('The sex is:', getattr(person, 'sex'))

आउटपुट

 सेक्स है: पुरुष गुण: 'व्यक्ति' वस्तु में कोई विशेषता नहीं है 'सेक्स' 

नामित विशेषता सेक्स वर्ग व्यक्ति में मौजूद नहीं है। इसलिए, जब getattr()एक डिफ़ॉल्ट मान के साथ कॉलिंग विधि होती है Male, तो यह माले को लौटाता है।

लेकिन, यदि हम कोई डिफ़ॉल्ट मान प्रदान नहीं करते हैं, जब नामित विशेषता सेक्स नहीं पाया जाता है, तो यह एक AttributeErrorकहावत है कि ऑब्जेक्ट में कोई सेक्स विशेषता नहीं है।

दिलचस्प लेख...