class Temperature()。
def convertF(self,c)。
return c*1.8 32。
def convertC(self,f)。
return (f-32)*(5/9)
c=float(input()
f=float(input()
n_temp=Temperature(c)
n_temp=Temperature(f)
print(n_temp.convertF)
print(n_temp.convertC)
我創建了一個類Temperature,然后我創建了兩個方法,一個用于將攝氏度轉換為華氏度,另一個用于將后者轉換為前者。
現在我想從用戶那里獲取攝氏度和華氏度的值,但我得到的錯誤是:
Temperature() does not take arguments.
誰能告訴我我做錯了什么嗎?
uj5u.com熱心網友回復:
Temperature(類)不接受任何引數;它的每個方法都接受一個引數。
uj5u.com熱心網友回復:
如果你想使用Temperature(<value>),你需要一個建構式。一旦你有一個建構式,你的其他方法就不需要引數了
class Temperature()。
def __init__(self, temp):
self.temp = temp
def convertF(self)。
returnself.temp * 1.8 32
def convertC(self)。
return (self.temp-32)*(5/9)
n_temp=溫度(float(input())
print(n_temp.convertC()) # 你需要呼叫這個函式。
或者你可以使用靜態方法,如果你不想使用建構式(因為建構式本身不知道輸入的單位是攝氏、法倫還是開爾文),但這樣你就需要從類的初始化中洗掉引數,并將其傳遞給函式
。# call a static method。
print(Temperature.convertC(0) # 32
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/310701.html
標籤:
