Python 蟒蛇3.7“;类型错误:';int';对象不可调用";在类中调用实例时
所以我刚刚开始学习python中的面向对象编程。我一直在学习一个教程,当我试图在类中打印位置参数时,总是会遇到一个错误Python 蟒蛇3.7“;类型错误:';int';对象不可调用";在类中调用实例时,python,typeerror,class-instance-variables,Python,Typeerror,Class Instance Variables,所以我刚刚开始学习python中的面向对象编程。我一直在学习一个教程,当我试图在类中打印位置参数时,总是会遇到一个错误 class Employee: raise_amount = 1.04 def __init__(self, first, last, pay): self.first = first self.last = last self.pay = pay self.email = first + '.'
class Employee:
raise_amount = 1.04
def __init__(self, first, last, pay):
self.first = first
self.last = last
self.pay = pay
self.email = first + '.' + last + '@liv.ac.uk'
def fullname(self):
return '{} {}'.format(self.first, self.last)
def apply_raise(self):
return int(self.pay * Employee.raise_amount)
emp_1 = Employee('Lewis', 'Fisher', 50000)
emp_2 = Employee('Joe', 'Bloggs', 40000)
print(emp_1.apply_raise())
print(emp_2.pay())
代码在“print(Employee.pay())”处崩溃,错误如下
TypeError: 'int' object is not callable
对不起,这可能很简单,但我无法让它工作。
提前感谢,
Lewis您已经在
\uuuu init\uuuu
方法中将支付定义为一个整数变量。如果你想看到它的价值,只需使用
print(emp_1.pay)
但是没有调用整数这样的东西,所以不能使用pay()
。pay
是一个int
,不是一个函数,不需要调用。pay
是一个数字。通过将pay()
作为函数调用它。这不是一个函数,所以只需使用pay
,而不是pay()
。非常感谢您的解释,非常有用:)。非常感谢您的帮助。:)