Reputation: 4204
How to get rid of this NameError
?
main.py
from com.domain.model import Employee
e1 = Employee("")
model.py
class Person(object):
def __init__(self,fname):
setfname(fname)
def setfname(fname): self._fname = fname
class Employee(Person):
def __init__(self,fname): super(Employee,self).__init__(fname)
NameError: global name 'setfname' is not defined
main.py
com/
--domain/
----model.py
Upvotes: 2
Views: 121
Reputation: 369494
Qualify setfname
as self.setfname
. In addition to that, the instance method setfname
should have self
as the first parameter.
class Person(object):
def __init__(self, fname):
self.setfname(fname)
# ^^^^^
def setfname(self, fname):
# ^^^^^^
self._fname = fname
Upvotes: 3