Попробуйте что-то вроде этого:
class ABC():
def __init__(self, debugFlag):
self.debugFlag = debugFlag
def some_function(self):
if self.debugFlag:
print('Debug on\n')
else:
print('Debug off\n')
abc_object = ABC(False)
def check_choice():
if str(choice) == '1':
abc_object.debugFlag = True
abc_object.some_function()
elif str(choice) == '2':
abc_object.debugFlag = False
abc_object.some_function()
else :
print('Invalid input')
while True:
choice = input('Type 1 to enable debugging, 2 to disable debuigging : ')
check_choice()
Резюме:
При инициализации класса требуется 1 обязательный аргумент debugFlag, True или False.
Когда вы определяете функцию из класса, вы должны использовать аргумент «self». Объяснение того, почему это
«если self.debugFlag» такое же, как если бы «self.debugFlag истинно: 116]
Мы создаем экземпляр ABC и сохраняем его в переменной abc_object. Мы передаем ему значение по умолчанию для debugFlag, в данном случае False.
Затем мы вводим некоторую логику для проверки состояния debugFlag, а затем выполняем некоторую функцию в зависимости от результата нашей логики.
Надеюсь, это поможет. Дайте мне знать, если вам нужны дальнейшие разъяснения.
Вы можете объявить свой HttpSessionListener
как bean-компонент в контексте Spring и зарегистрировать посредник делегирования в качестве фактического слушателя в web.xml
, что-то вроде этого:
public class DelegationListener implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) {
ApplicationContext context =
WebApplicationContextUtils.getWebApplicationContext(
se.getSession().getServletContext()
);
HttpSessionListener target =
context.getBean("myListener", HttpSessionListener.class);
target.sessionCreated(se);
}
...
}