2

これを取り除く方法は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

4

1 に答える 1

3

として修飾setfnameself.setfnameます。それに加えて、インスタンス メソッドは最初のパラメーターとしてsetfname持つ必要があります。self

class Person(object):
    def __init__(self, fname):
        self.setfname(fname)
    #   ^^^^^
    def setfname(self, fname):
    #            ^^^^^^
        self._fname = fname
于 2013-09-01T16:49:27.067 に答える