Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中访问类对象属性_Python_Oop_Data Structures - Fatal编程技术网

如何在python中访问类对象属性

如何在python中访问类对象属性,python,oop,data-structures,Python,Oop,Data Structures,因此,我有一个名为charge的方法,它将total作为参数。当我打印totalprint(total)时,它会给出价格(币种为INR',不含税=小数('1000.00'),含税=小数('1180.0000'),税=小数('180.0000'))。我如何从中访问lets(比如含税) 视图.py class PaymentDetailsView(CorePaymentDetailsView): def处理付款(自付、订单号、总计,**kwargs): razorpay_ref=Facade().费

因此,我有一个名为charge的方法,它将total作为参数。当我打印total
print(total)
时,它会给出
价格(币种为INR',不含税=小数('1000.00'),含税=小数('1180.0000'),税=小数('180.0000'))
。我如何从中访问lets(比如含税)

视图.py

class PaymentDetailsView(CorePaymentDetailsView):
def处理付款(自付、订单号、总计,**kwargs):
razorpay_ref=Facade().费用(
订单号,
全部的
card=self.request.POST[RAZORPAY_令牌],
说明=自付说明(订单号,总计,**kwargs),
元数据=自助付款元数据(订单号,总计,**kwargs))
source\u type、\uuu=SourceType.objects.get\u或\u create(name=PAYMENT\u METHOD\u RAZORPAY)
来源=来源(
源类型=源类型,
currency=settings.RAZORPAY\u currency,
分配金额=总金额(含税),
借记金额=总金额(含税),
参考=razorpay(参考)
自我添加\付款\来源(来源)
自我添加付款事件(付款事件购买,总计,含税)
facade.py

类外观(对象):
定义初始化(自):
通过
@静力学方法
def get_友好_拒绝_消息(错误):
return“您的银行拒绝交易-请检查您的银行卡详细信息并重试”
@静力学方法
def get_友好_错误_消息(错误):
return“与支付网关通信时出错。”
def充电(自,
订单号,
全部的
卡片
currency=settings.STRIPE\u currency,
description=无,
元数据=无,
**kwargs):
打印(“卡片”)
打印(卡片)
打印(“总计”)
打印(总计)
打印(类型(总数))
#打印(getattr(self,'include_tax'))
client=razorpay.client(auth=(“key”,“pass”))
客户.付款.捕获(卡,总计)
回程卡
价格.py

类别TaxNotKnown(例外):
"""
要求提供含税价格但我们不知道时的例外情况
适用的税是多少(尚未)。
"""
类别价格(对象):
"""
封装价格及其税务信息的简单price类
属性:
含税(十进制):含税价格
不含税(十进制):不含税价格
税款(小数):税额
税收是否已知(bool):税收是否已知
货币(str):3个字符的货币代码
"""
定义初始(自身、货币、不含税、含税=无、税=无):
self.currency=货币
self.excl_tax=不含税
如果“含税”不是“无”:
自含税=含税
self.is\u tax\u known=真
elif税不是零:
自含税=不含税+税
self.is\u tax\u known=真
其他:
自含税=无
self.is\u tax\u known=False
def_获取_税(自):
报税表自含税-自不含税
定义设置税(自身、价值):
自含税=自不含税+价值
self.is\u tax\u known=真
税=财产(获取税、设置税)
定义报告(自我):
如果知道self.u\u tax\u:
返回“%s(货币=%r,不含税=%r,含税=%r,税=%r)”%(
self.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,
自含税,自税)
返回“%s(货币=%r,不含税=%r)”%(
self.\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
定义(自身、其他):
"""
如果货币、price.excl_tax和tax匹配,则两个价格对象相等。
"""
返回(self.currency==其他.currency和
self.excl_tax==其他.excl_tax和
自含税==其他含税)

我的目标是提取inclu_tax,它应该是一个整数值,这样我就可以将它传递给
client.payment.capture(card,total)
。最好的方法是什么?

您可以通过以下内容访问该列表中的元素,其中2是包含税的
的值:


打印(总计[2])

您可以通过以下内容访问该列表中的元素,其中2是
包含税的值:


print(total[2])

您在哪里定义了
incl\u tax
?据我所知,total是一个价格对象,incl\u tax是它的十进制字段,因此创建一个价格对象并使用price.incl\u tax查找其值incl\u tax是在另一个文件中名为price的类中定义的。但是,我的问题是如何在方法费用中访问Price对象的这个十进制字段。您应该提供一个,但您可能只需要
总计。包括税
?好的,那么什么不起作用呢?您可以使用
操作符访问对象上的属性,所以就像我说的,您可能只需要
总计。包含税
您在哪里定义了
包含税
?我理解的是总计是一个价格对象,包含税是它的十进制字段,因此,创建一个price对象并使用price.incl_tax查找其值incl_tax是在另一个文件中名为price的类中定义的。但是,我的问题是如何在方法费用中访问Price对象的这个十进制字段。您应该提供一个,但您可能只需要
总计。包括税
?好的,那么什么不起作用呢?您可以使用
操作符访问对象上的属性,所以正如我所说的,您可能只需要
total.inclu_tax