'Why while running the program I am getting object not callable
class College():
def __init__(self,name):
self.name = name
def name(self):
print(self.name)
a = College("IIT")
a.name()
Solution 1:[1]
You gave a
an instance attribute named name
when you called College.__init__
. That shadows the class attribute (i.e., the method) with the same name. Choose a different method or attribute name.
a.name
is the string "IIT"
, which is not callable. You can cheat a bit to get access to the method
>>> College.name(a)
IIT
but it will be cleaner to use separate names for the two attributes.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | chepner |