私のメソッドincrement4
が機能しない理由を理解しようとしています。これらのメソッドはすべて機能としてはうまく機能しましたが、今では機能していないメソッドに変換しました。私は "時間"のオブジェクト名を "自己"に置き換えました。私は "リターン"の維持と削除を実験しました。 EDIT親切に私に指摘されたので、私はドット表記法を使用していませんでした。私はいくつかの変更を加えました。今、Pythonは私に別のエラーを与えている:Pythonでクラスにメソッドを追加すると、エラー:グローバル名が定義されていません
Traceback (most recent call last):
File "/Users//Desktop/temp.py", line 33, in <module>
currenttime.increment4(4000)
File "/Users//Desktop/temp.py", line 22, in increment4
newtime = float(total_seconds).make_time()
AttributeError: 'float' object has no attribute 'make_time'
>>>
ライン33は以下のとおりです。
currenttime.increment4(4000)
ライン22は以下のとおりです。
class Time:
def printTime(self):
print str(time.hours)+":"+str(time.minutes)+":"+str(time.seconds)
def make_time (self):
time = Time()
time.hours = self/3600
time.minutes = (self % 3600)/60
time.seconds = (self % 3600) % 60
return time
def covertTOseconds (self):
hours = self.hours * 3600
minutes = self.minutes * 60
seconds = self.seconds
amt_in_seconds = hours + minutes + seconds
return amt_in_seconds
def increment4 (self, increaseINseconds):
total_seconds = self.covertTOseconds() + increaseINseconds
newtime = float(total_seconds).make_time()
newtime.printTime()
currenttime = Time()
currenttime.hours = 3
currenttime.minutes = 47
currenttime.seconds = 45
currenttime.increment4(4000)
:
newtime = float(total_seconds).make_time()
そしてここでは、全体のことです
'self.covertTOseconds()'、及びPEP-8( 'convert_to_seconds')あたりの命名規則を修正。 – jonrsharpe
ありがとうジョン!私はあなたの提案を実装し、私は自分の質問を編集しています。それは今、別のエラーを投げている。 –
エラーメッセージは、問題の内容を正確に伝えます。 – jonrsharpe