Ten ostatni (try/except
) Formularz jest zazwyczaj lepszą formą.
bloki są bardzo tanie, ale złapanie wyjątku może być droższe. Kontrola powstrzymywania na dyktafonie wydaje się być tania, ale nie tańsza niż nic. Podejrzewam, że będzie równowaga wydajności w zależności od tego, jak często naprawdę jest tam 'subject'
. Jednak to nie ma znaczenia, ponieważ przedwczesna optymalizacja jest bezużyteczna, rozprasza, marnuje i jest nieefektywna. Poszedłbyś z lepszym rozwiązaniem.
Jeśli kod byłby rzeczywiście formy
if 'subject' in request.POST:
subject = request.POST['subject']
else:
subject = some_default
to co rzeczywiście chcesz to request.POST.get('subject', some_default)
.
Które z "skutecznych", "szybszych" i "lepszych" naprawdę Cię interesują i jaką masz na myśli definicję "wydajnego" i "lepszego"? –
Chyba miałem na myśli, która jest najlepsza praktyka kodowania. W tej szczególnej sytuacji, jeśli "podmiot" nie jest POST, to jest to błąd, nie ma wartości domyślnej, która powinna tam być. Dziękuję za wszystkie odpowiedzi. – mhost