python - 类对象未按预期工作。我需要向类对象添加参数吗?
问题描述
我正试图围绕 Python 类。我的脚本试图创建一个类来确定佣金支付、税前和税后。课前课是税前课,但我遇到了税后课。
class Commission():
def __init__(self, call, permit, install):
self.call = call
self.permit = permit
self.install = install
def pay_pre_tax(self):
calls = 300
permits = 200
installs = 500
total = calls * self.call + permits * self.permit + installs + self.install
return total
def taxes(self):
tax_rate = 4.66 / total
return tax_rate
def total_pay(self):
total = self.pay_pre_tax()
total_pay = total + tax_rate
return total_pay
Pynchon = Commission(1, 2, 3)
print(Pynchon.pay_pre_tax())
Pynchon.taxes()
print(Pynchon.total_pay())
我收到“Pynchon.taxes()”错误-->“NameError: name 'total' is not defined”和“NameError: name 'tax_rate' is not defined”
我是否必须以某种方式将总数添加到委员会中的论点才能正常工作?
解决方案
问题是您在方法中创建的所有变量(即总计、税率等)不属于该对象,但其范围仅限于初始化它的方法。以下代码可能正常工作:
class Commission:
def __init__(self, call, permit, install):
self.call = call
self.permit = permit
self.install = install
def pay_pre_tax(self):
calls = 300
permits = 200
installs = 500
self.total = calls * self.call + permits * self.permit + installs + self.install
return self.total
def taxes(self):
self.tax_rate = 4.66 / self.total
return self.tax_rate
def total_pay(self):
total = self.pay_pre_tax()
total_pay = total + self.tax_rate
return total_pay
Pynchon = Commission(1, 2, 3)
print(Pynchon.pay_pre_tax())
Pynchon.taxes()
print(Pynchon.total_pay())
推荐阅读
- r - 是否可以在没有 root 访问权限的情况下在 Linux 上安装 Rstudio 服务器?
- c# - 如何从 JSON 对象返回列表?
- python - 如何在 django/python 中的 2 小时前向客户发送提醒消息
- uwp - BitmapPixelFormat.Rgba8 到 PixelFormat.Format24bppRgb
- c# - Devart.Data.Oracle.OracleConnection 在服务器上运行时无法转换为...
- javascript - 从 quill 中删除 HTML 代码
- ios - Appstore - 如何删除准备提交 tvOS
- azure - Azure 函数错误:“您的函数应用不支持远程构建...”
- excel - Excel Office 加载项在部署后显示空白
- javascript - 如何从 ArrayBuffer 中的服务器保存 .xlsx 文件?