如何摆脱这个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
答案 0 :(得分:3)
将setfname
限定为self.setfname
。除此之外,实例方法setfname
应该有self
作为第一个参数。
class Person(object):
def __init__(self, fname):
self.setfname(fname)
# ^^^^^
def setfname(self, fname):
# ^^^^^^
self._fname = fname