Python 我想在另一个函数中调用类的函数,但我一直在尝试,但仍然有错误

Python 我想在另一个函数中调用类的函数,但我一直在尝试,但仍然有错误,python,Python,注意 class Employee: 'Common base class for all employees' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "T

注意

class Employee:    

    'Common base class for all employees'
    empCount = 0
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1
    def displayCount(self):
        print "Total Employee %d" % Employee.empCount
    def displayEmployee(self):
        print "Name : ", self.name,
        ", Salary: ", self.salary
        self.displaycount()


emp1 = Employee("Zara", 2000)

emp1.displayEmployee()
被解释为三条逻辑线:

print "Name : ", self.name,
", Salary: ", self.salary
self.displaycount()
Python不会隐式地延续逻辑行。可以为显式延续添加反斜杠:

print "Name : ", self.name,  # print two things, suppress the newline
", Salary: ", self.salary  # this makes no sense - tuple? Gets ignored
self.displaycount()  # call a method - but Python is case sensitive!
但我认为最好使用适当的:

您还需要使用正确的大小写来访问方法(Python区分大小写),因此应该是:

print "Name: {0.name}, Salary: {0.salary:.02f}".format(self)

或者,根据,将其命名为
display\u count

您到底遇到了哪一个错误?可能调用
self.displaycount()
应该是
self.displaycount()
如果您看到的错误是
AttributeError:Employee实例没有属性“displaycount”
,则应用@Quallenmann建议的编辑。如果这不是您得到的错误,请提供回溯说明:第一行应该是
类员工(对象):
,除非您有充分的理由,否则这需要是一个老式类而不是现代类。通常,如果您比“有错误”更具体,您将吸引更少的反对票。阅读。非常感谢您的善意帮助,通过实施您的提示,问题得以解决。非常感谢,他还可以使用括号继续…虽然这对于
打印
很尴尬,除非从
从uuu future\uuuuu导入打印u函数
,而且你已经给出了使用字符串格式的更好解决方案,所以…我认为答案中不需要这样做…@abarnert我确实想到了这一点,你只需要打印一个元组(除非,如你所说,你是3.x风格的)。@Soheilsmz@jornsharpe:如果我们需要修改禅宗,我想那必须在那里。“应该有一种——最好只有一种——显而易见的方法。但是,不明显的方法,当然,你想要多少就有多少,你想要多少就有多少。这么多令人反感的选择!”
print "Name: {0.name}, Salary: {0.salary:.02f}".format(self)
self.displayCount()
          # ^ note