ein Verfahren in einem Zeitplan Job nennen habe ich eine Klasse, die wie folgt aussieht:kann nicht
xyz = Account(balance=6000)
xyz.balance
> 6000
Ich habe auch eine stumme Druckfunktion:
class Account(object):
"""A simple bank account"""
def __init__(self, balance=0.0):
"""
Return an account object with a starting balance of *balance*.
"""
self.balance = balance
def withdraw(self, amount):
"""
Return the balance remaining after withdrawing *amount* dollars.
"""
self.balance -= amount
return self.balance
def deposit(self, amount):
"""
Return the amount remaining after depositing *amount* dollars.
"""
self.balance += amount
return self.balance
ich es in xyz
initialisieren werden :
def thing():
print("I am doing a thing...")
Wenn ich versuche, die deposit
Methode in meinem schedule
anrufen Flow:
import schedule
# this works
# schedule.every(5).seconds.do(thing)
# this doesn't work
schedule.every(5).seconds.do(xyz.deposit(2300))
while True:
schedule.run_pending()
ich die folgende Fehlermeldung erhalten:
TypeError: the first argument must be callable
Irgendwelche Ideen? Ist es überhaupt möglich, Methoden innerhalb eines Ablaufplans aufzurufen?
Ehrfürchtig. Vielen Dank! Ich bin jedoch nicht in der Lage, dies für Methoden ohne Eingabevariablen zum Laufen zu bringen ... es denkt, dass ich versuche, auf ein Attribut zuzugreifen. Gedanken? – emehex
Ich habe ein minimales Beispiel versucht und es hat für mich funktioniert. Posten Sie genau, was Sie tun. – jpkotta
Forgot 'self' in meiner Methode. Es funktioniert anders. Danke für die Bestätigung. – emehex