Django程式碼中的TypeError 'float' object is not callable
在Django程式碼中,遇到一個TypeError: 'float' object is not callable的錯誤。
這個錯誤發生在幾個property裝飾器的方法中,例如:
@property
def pmt_loaner_final( self):
return float( self. pmt_loaner_new) + float( self. debit_fee)
@property
def pmt_broker_final( self):
return float( self. pmt_broker_new) + float( self. debit_fee)
@property
def total_compounded_broker( self):
return self. compounded_amount( self. brokerage_fees)
@property
def total_compounded_loaner( self):
return self. compounded_amount( self. amount)
這些property裝飾器的方法試圖將浮點數轉換為整數,但由於浮點數不是可呼叫的物件,因此丟擲TypeError: 'float' object is not callable的錯誤。
另外,在以下程式碼段中,也遇到了同樣的錯誤:
@property
def discount( self):
return self. final_credit_rate(
self. pmt_loaner_final + self. pmt_broker_final,
self. total_compounded_loaner + self. total_compounded_broker
)
在該程式碼段中,試圖將a+b和c+d的和作為實參傳遞給final_credit_rate方法,但是由於a+b和c+d都是浮點數,因此丟擲TypeError: 'float' object is not callable的錯誤。
除此之外,還嘗試使用final_pmt_without_withdrawal_fees和total_compounded作為實參傳遞給get_final_credit_rate方法,也遇到了同樣的錯誤。
解決方案
對於這個問題,有兩種可能的解決方案:
1、 移除@property裝飾器
如果不需要將這些方法作為property屬性來使用,可以移除@property裝飾器,並將這些方法定義為普通的函式。這樣就可以直接呼叫這些方法,而不會丟擲TypeError: 'float' object is not callable的錯誤。
2、 使用括號呼叫property屬性
如果需要將這些方法作為property屬性來使用,可以使用括號來呼叫這些屬性。例如:
discount = computation. final_credit_rate(
computation. pmt_loaner_final() + computation. pmt_broker_final(),
computation. total_compounded_loaner() + computation. total_compounded_broker()
)
透過使用括號來呼叫property屬性,就可以避免TypeError: 'float' object is not callable的錯誤。
對於第二個問題,需要將a+b和c+d的和轉換為整數,然後再作為實參傳遞給final_credit_rate方法。例如:
discount = computation. final_credit_rate(
int( computation. pmt_loaner_final()) + int( computation. pmt_broker_final()),
int( computation. total_compounded_loaner()) + int( computation. total_compounded_broker())
)
透過將a+b和c+d的和轉換為整數,就可以避免TypeError: 'float' object is not callable的錯誤。
對於第三個問題,需要將final_pmt_without_withdrawal_fees和total_compounded轉換為整數,然後再作為實參傳遞給get_final_credit_rate方法。例如:
final_credit_rate = computation. get_final_credit_rate(
int( computation. final_pmt_without_withdrawal_fees()),
int( computation. total_compounded())
)
透過將final_pmt_without_withdrawal_fees和total_compounded轉換為整數,就可以避免TypeError: 'float' object is not callable的錯誤。
瞭解如何爬取網頁(使用請求庫如
requests
)、解析HTML(使用解析庫如
BeautifulSoup
或
lxml
)是必要的。這部分可以獨立於Django學習。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70034537/viewspace-3004740/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TypeError: object() takes no parametersErrorObject
- Uncaught TypeError: Object [object Object] has no method 'xxx'ErrorObject
- Uncaught TypeError: Object # has no method 'load'ErrorObject
- C++ 可呼叫物件的概念 callable objectC++物件Object
- pytorch 踩坑,TypeError: expected seqence object with len>_0 or a single integer_typeerror: expected sequence object with len __ 0PyTorchErrorObject
- react 和redux整合報TypeError: Object(...) is not a functionReactReduxErrorObjectFunction
- TypeError: Object of type ‘datetime‘ is not JSON serializableErrorObjectJSON
- object-c中NSString與int和float的相互轉換Object
- python函式每日一講 - callable(object)Python函式Object
- 1.python報錯:TypeError: 'int' object is not subscriptablePythonErrorObject
- Python報錯:TypeError: a bytes-like object is required, not ‘str‘PythonErrorObjectUI
- Ruby中的TypeError異常處理Error
- CSS中float和Clear的使用CSS
- django-ckeditor 程式碼高亮Django
- Rasa init報錯:AttributeError: type object 'Callable' has no attribute '_abc_registry'ErrorObject
- CSS中的float和margin的混合使用CSS
- TypeError: Cannot read private member xxx from an object whose class did not declare itErrorObject
- labelme2coco問題:TypeError: Object of type 'int64' is not JSON serializableErrorObjectJSON
- Django中的ORMDjangoORM
- Django中ORM外來鍵和表的關係(Django程式設計-4)DjangoORM程式設計
- Uncaught TypeError: external_echarts_.helper.createTextStyle is not a functionat Object.seriesModel.layoutInstance.ondraw問題的解決ErrorEchartsFunctionObject
- Object.defineProperty()應用程式碼例項Object
- Django開發——003程式碼編寫Django
- Django任意程式碼執行漏洞分析Django
- 從JDK原始碼角度看FloatJDK原始碼
- TypeScript 中令人迷惑的物件型別:Object、{} 和 objectTypeScript物件型別Object
- 從django的SECRET_KEY到程式碼執行Django
- css定位中position:absolute與float的區別CSS
- 開發中遇到的float double精度問題
- Javascript中的Object.defineProperty()JavaScriptObject
- PHP 中`Closure`和`Callable`的區別以及在 Redis 訂閱方法中的使用PHPRedis
- Django中的元類Django
- django中orm的使用DjangoORM
- 【Python】Nginx+uwsgi+Django部署程式碼PythonNginxDjango
- Java併發程式設計:Callable、Future和FutureTaskJava程式設計
- JavaScript中的Object相等(譯文)JavaScriptObject
- JS中Object的API詳解JSObjectAPI
- 詳解object detection中的mAPObject