myślę, że to jest bezpieczne:Czy sprawdzanie, czy klucz znajduje się w słowniku, a otrzymanie jego wartości w tym samym "jeśli" jest bezpieczne?
if key in test_dict:
if test_dict[key] == 'spam':
print('Spam detected!')
ale jest to bezpieczne?
if key in test_dict and test_dict[key] == 'spam':
print('Spam detected!')
To powinno zrobić to samo, ponieważ sprawdzanie kondycji jest leniwe w pytonie. Nie będzie próbował uzyskać wartości (i zgłosić wyjątek, ponieważ nie ma takiego klucza w dyktafonie), ponieważ pierwszy warunek nie jest już spełniony. Ale czy mogę polegać na leniwości i użyć drugiego przykładu w moich programach?
tak, oba fragmenty są równoważne i "bezpieczne". –