Question
Asked By – Rajeev
In the function __getattr__()
, if a referred variable is not found then it gives an error. How can I check to see if a variable or method exists as part of an object?
import string
import logging
class Dynamo:
def __init__(self,x):
print "In Init def"
self.x=x
def __repr__(self):
print self.x
def __str__(self):
print self.x
def __int__(self):
print "In Init def"
def __getattr__(self, key):
print "In getattr"
if key == 'color':
return 'PapayaWhip'
else:
raise AttributeError
dyn = Dynamo('1')
print dyn.color
dyn.color = 'LemonChiffon'
print dyn.color
dyn.__int__()
dyn.mymethod() //How to check whether this exist or not
Now we will see solution for issue: How to check whether a method exists in Python?
Answer
How about dir()
function before getattr()
?
>>> "mymethod" in dir(dyn)
True
This question is answered By – Michał Šrajer
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0