我得到了一份学校作业,它是面向对象编程的入门。我很快就要解决这个问题了,只是在语法上有点问题。也许你们中的一些人知道问题出在哪里?在
我的课在这里:
class CashRegister():
__taxRate = 0
__numProductsSold = 0
__totalRevenue = 0.0
__taxAmount = 0.0
__soldProducts = []
def __init__(self, taxRate):
self.__taxRate = taxRate
def getNumProductsSold(self):
return self.__numProductsSold
def getTotalRevenue(self):
return self.__totalRevenue
def getTaxAmount(self):
return self.__taxAmount
def getSoldProducts(self):
return self.__soldProducts
def addItem(self, product, price):
self.__numProductsSold +=1
self.__totalRevenue += price
self.__taxAmount += price * self.__taxRate
self.__soldProducts.append(product)
我试着称之为:
^{pr2}$有人发现问题了吗? 正在获取标题所示的错误消息。在
您需要告诉您的程序要使用
CashRegister
中的哪些方法,因此有几个选项:在选项1中,您告诉解释器不要混淆您要调用的
^{pr2}$CashRegister
方法是CashRegister
类中的方法。在在选项2中,您告诉解释器您只从类中导入
CashRegister
的构造函数,当您在代码中调用CashRegister
时,应该假设这一点。在还有另一个选项在这个应用程序中是不必要的,但仍然有效。当一个类中有很多方法时会更好。这是一个选择。在
在选项3中,您告诉编译器,您希望将类中的所有方法的引入程序范围,而不需要指定所属的类。在
Python不根据模块的名称来假设类的名称,它允许一个模块保存多个类。您需要显式导入类或将它们作为模块对象的成员引用。按照惯例,模块名是小写,类名以大写字母开头。例如:
在另一个文件中:
^{pr2}$或者
导入的“cashrister”模块中的“cashrister”类被访问为
CashRegister.CashRegister
。在相关问题 更多 >
编程相关推荐