Так что я возился с классами, пытаясь разобраться в них, и натолкнулся на необходимость помнить, чтобы мои методы запомнили ранее приведенные аргументы.Это потому, что я хотел вызвать метод без передачи новых аргументов, а вместо этого просто использовать те же аргументы, что и раньше.Так как я запускал это откуда-то еще, я подумал, что было бы легче попытаться заставить класс запомнить переменные и использовать память, если не было передано никаких новых аргументов.
В итоге я получил следующее:
class someclass:
def test(self, x=None):
if x:
self.x = "yes " + str(x)
try:
print(self.x)
except AttributeError:
pass
a = someclass()
a.test()
a.test()
a.test(5)
a.test()
a.test()
Итак, первые два раза это называется, self.x
еще не определено, поэтому оно проходит.В любое время после этого он запоминает число 5, которое было дано только один раз.
Так что мой вопрос в основном заключается в том, есть ли более простой / лучший способ написания этого блока, но также и в том случае, если это как-то плохая практика, которая вызовет у меняпроблемы позже.