У вас, похоже, есть неправильные представления о том, как работают Python классы / функции. Вам вообще не нужно self
в boolchange
, поскольку это закрытие (честно говоря, вам вообще не нужно boolchange
), и вам также не нужно каждый раз делать var=var
, но только в тех случаях, когда вы хотите указать значения по умолчанию.
class main():
def __init__(self, boolean):
self.boolean = boolean
def change(self, change_to):
self.boolean = change_to
m = main(True)
m.change(False)
print(m.boolean)
# False
Вы также можете легко реализовать метод toggle
, который, похоже, и пытался сделать:
class main():
def __init__(self, boolean):
self.boolean = boolean
def toggle(self):
self.boolean = not self.boolean
m = main(True)
m.toggle()
print(m.boolean)
# False
m.toggle()
print(m.boolean)
# True