我正在编写YouTube教程中的一些代码,但我一直遇到类型错误。为什么呢?
class Employee():
''' keeps track of company employees'''
raise_amount = 1.04
def __init__(self, first, last, pay):
self.first = first
self.last = last
self.pay = pay
self.email = last + '.' + first +'@tech.com'
def fullname(self):
return self.first +' ' + self.last
def Email(self): #not needed bc its already an attribute
return self.email
def raise_amount(self):
return ((self.pay * self.raise_amount) - self.pay)
def annual_raise(self):
self.pay = int(self.pay * self.raise_amount)
return pay
答案 0 :(得分:0)
在这里,您对方法和类变量使用了相同的名称 raise_amount
。当你执行下面的代码
def raise_amount(self):
return ((self.pay * self.raise_amount) - self.pay)
self.raise_amount 将指向方法 raise_amount
。因此乘法运算失败,因为它期望其参数为数字。您可以更改类变量名称或方法名称。
如果您要更改类变量名称,请更改如下代码:
raise_amount_value = 1.04
方法内部:
def raise_amount(self):
return ((self.pay * self.raise_amount_value) - self.pay)
def annual_raise(self):
self.pay = int(self.pay * self.raise_amount_value)
return pay
答案 1 :(得分:-1)
Class Employee(): '''跟踪公司员工'''
SingleChildScrollView(
controller: _controller,
child: ...,
)
emp_1 = Employee(“ Joshua”,“ Ozoya”,9000)
print(emp_1.fullname())
您的程序运行正常。
emp_1 = Employee(“ Joshua”,“ Ozoya”,9000)
print(emp_1.fullname())
添加这两行代码以获得结果。
另外,指定您遇到的错误。