Słowo kluczowe w Pythonie

Słowo kluczowe w Pythonie

Asercje Pythona w dowolnym języku programowania znajdują się narzędzia do debugowania, które pomagają w płynnym przepływie kodu. Asercje to głównie założenia, o których programista wie lub zawsze chce, aby były prawdziwe, dlatego umieszcza je w kodzie w taki sposób, że ich niepowodzenie uniemożliwia dalsze wykonanie kodu.

Potwierdź słowo kluczowe w Pythonie

Mówiąc prościej, możemy powiedzieć, że asercja jest wyrażeniem boolowskim, które sprawdza, czy stwierdzenie jest prawdziwe, czy fałszywe. Jeśli instrukcja jest prawdziwa, to nic nie robi i kontynuuje wykonywanie, ale jeśli instrukcja ma wartość Fałsz, wówczas zatrzymuje wykonywanie programu i zgłasza błąd.

Schemat blokowy instrukcji potwierdzenia w języku Python

potwierdzić w Pythonie

Schemat blokowy instrukcji potwierdzenia w języku Python

Składnia słowa kluczowego Assert w Pythonie

W Pythonie zapewniać słowo kluczowe pomaga w realizacji tego zadania. Ta instrukcja przyjmuje jako dane wejściowe warunek logiczny, który po zwróceniu wartości true nie robi nic i kontynuuje normalny przebieg wykonywania, ale jeśli zostanie obliczony jako fałszywy, zgłasza błąd AssertionError wraz z dostarczonym opcjonalnym komunikatem.

Składnia: warunek potwierdzenia, komunikat_błędu (opcjonalnie)

Parametry:

  • stan : Warunek logiczny zwracający wartość true lub false.
  • Komunikat o błędzie : Opcjonalny argument do wydrukowania w konsoli w przypadku błędu AssertionError

Zwroty: Zwraca AssertionError, jeśli warunek ma wartość false, wraz z komunikatem o błędzie, jeśli zostanie podany.

Python potwierdza słowo kluczowe bez komunikatu o błędzie

Ten kod próbuje zademonstrować użycie potwierdzenia w Pythonie, sprawdzając, czy wartość b wynosi 0 przed wykonaniem operacji dzielenia. a jest inicjowane wartością 4, a b jest inicjowane wartością 0. Program wypisuje komunikat Wartość a / b to: .Instrukcja Assert sprawdza, czy b nie jest równe 0. Ponieważ b wynosi 0, asercja instrukcja kończy się niepowodzeniem i wywołuje błąd AssertionError.
Ponieważ nieudana instrukcja potwierdzenia zgłasza wyjątek, program kończy działanie i nie kontynuuje wykonywania instrukcji print w następnym wierszu.

Python3




# initializing number> a> => 4> b> => 0> # using assert to check for 0> print> (> 'The value of a / b is : '> )> assert> b !> => 0> print> (a> /> b)>

Wyjście:

The value of a / b is : --------------------------------------------------------------------------- AssertionError Traceback (most recent call last) Input In [19], in () 8 # using assert to check for 0 9 print('The value of a / b is : ') --->10 twierdzenie b != 0 11 print(a / b) AssertionError: 

Słowo kluczowe Pythona z komunikatem o błędzie

Ten kod próbuje zademonstrować użycie potwierdzenia w Pythonie, sprawdzając, czy wartość b wynosi 0 przed wykonaniem operacji dzielenia. a jest inicjowane wartością 4, a b jest inicjowane wartością 0. Program wypisuje komunikat Wartość a / b to: .Instrukcja Assert sprawdza, czy b nie jest równe 0. Ponieważ b wynosi 0, asercja instrukcja kończy się niepowodzeniem i wraz z komunikatem wywołuje błąd AssertionError Błąd podziału zerowego .
Ponieważ wyjątek zostanie wywołany przez nieudaną instrukcję potwierdzenia, program kończy działanie i nie kontynuuje wykonywania instrukcji print w następnym wierszu.

Python3




# Python 3 code to demonstrate> # working of assert> # initializing number> a> => 4> b> => 0> # using assert to check for 0> print> (> 'The value of a / b is : '> )> assert> b !> => 0> ,> 'Zero Division Error'> print> (a> /> b)>

Wyjście:

AssertionError: Zero Division Error 

Twierdzenie wewnątrz funkcji

W tym przykładzie instrukcja Assert została użyta wewnątrz funkcji w celu sprawdzenia, czy długość i szerokość prostokąta są dodatnie przed obliczeniem jego pola. Asercja wywołuje błąd AssertionError z komunikatem Długość i szerokość muszą być dodatnie, jeśli jest fałszywe. Jeśli stwierdzenie jest prawdziwe, funkcja zwraca pole prostokąta; jeśli jest fałszywe, kończy się z błędem. Aby pokazać, jak wykorzystać asercję w różnych sytuacjach, funkcja jest wywoływana dwukrotnie, raz z danymi dodatnimi i raz z danymi wejściowymi ujemnymi.

Python3




# Function to calculate the area of a rectangle> def> calculate_rectangle_area(length, width):> > # Assertion to check that the length and width are positive> > assert> length>> 0> and> width>> 0> ,> 'Length and width'> +> > > 'must be positive'> > # Calculation of the area> > area> => length> *> width> > # Return statement> > return> area> # Calling the function with positive inputs> area1> => calculate_rectangle_area(> 5> ,> 6> )> print> (> 'Area of rectangle with length 5 and width 6 is'> , area1)> # Calling the function with negative inputs> area2> => calculate_rectangle_area(> -> 5> ,> 6> )> print> (> 'Area of rectangle with length -5 and width 6 is'> , area2)>

Wyjście:

AssertionError: Length and widthmust be positive 

Potwierdź za pomocą warunku logicznego

W tym przykładzie instrukcja Assert sprawdza, czy warunek logiczny x

Python3




# Initializing variables> x> => 10> y> => 20> # Asserting a boolean condition> assert> x # Printing the values of x and y print('x =', x) print('y =', y)>

Wyjście:

x = 10 y = 20 

Podaj typ zmiennej w Pythonie

W tym przykładzie instrukcje Assert sprawdzają, czy typy zmiennych a i b to odpowiednio str i int. Jeśli którakolwiek z asercji zakończy się niepowodzeniem, zostanie zgłoszony błąd AssertionError. Jeśli oba twierdzenia powiodą się, program kontynuuje i wypisuje wartości a i b.

Python3




# Initializing variables> a> => 'hello'> b> => 42> # Asserting the type of a variable> assert> type> (a)> => => str> assert> type> (b)> => => int> # Printing the values of a and b> print> (> 'a ='> , a)> print> (> 'b ='> , b)>

Wyjście:

a = hello b = 42 

Potwierdzanie wartości słownikowych

W tym przykładzie instrukcje Assert sprawdzają, czy wartości powiązane z kluczami apple, banana i cherry w słowniku my_dict wynoszą odpowiednio 1, 2 i 3. Jeśli którakolwiek z asercji zakończy się niepowodzeniem, zostanie zgłoszony błąd AssertionError. Jeśli wszystkie twierdzenia powiodą się, program kontynuuje i drukuje zawartość słownika.

Python3




# Initializing a dictionary> my_dict> => {> 'apple'> :> 1> ,> 'banana'> :> 2> ,> 'cherry'> :> 3> }> # Asserting the contents of the dictionary> assert> my_dict[> 'apple'> ]> => => 1> assert> my_dict[> 'banana'> ]> => => 2> assert> my_dict[> 'cherry'> ]> => => 3> # Printing the dictionary> print> (> 'My dictionary contains the following key-value pairs:'> , my_dict)>

Wyjście:

My dictionary contains the following key-value pairs: {'apple': 1, 'banana': 2, 'cherry': 3} 

Praktyczne zastosowanie

Ma to znacznie większą użyteczność w rolach testujących i zapewniających jakość w dowolnej domenie programistycznej. W zależności od zastosowania stosowane są różne typy asercji. Poniżej znajduje się prostsza demonstracja programu, który pozwala na wysłanie tylko partii zawierającej całą gorącą żywność, w przeciwnym razie odrzuca całą partię.

Python3




# Python 3 code to demonstrate> # working of assert> # Application> # initializing list of foods temperatures> batch> => [> 40> ,> 26> ,> 39> ,> 30> ,> 25> ,> 21> ]> # initializing cut temperature> cut> => 26> # using assert to check for temperature greater than cut> for> i> in> batch:> > assert> i>> => 26> ,> 'Batch is Rejected'> > print> (> str> (i)> +> ' is O.K'> )>

Wyjście:

40 is O.K 26 is O.K 39 is O.K 30 is O.K 

Wyjątek czasu wykonania:

AssertionError: Batch is Rejected 

Dlaczego warto używać instrukcji potwierdzenia w języku Python?

W języku Python instrukcja Assert jest potężnym narzędziem do debugowania, które może pomóc w identyfikacji błędów i upewnieniu się, że kod działa zgodnie z zamierzeniami. Oto kilka uzasadnień użycia potwierdzenia:

  1. Debugowanie: Założenia przyjęte w kodzie można zweryfikować za pomocą instrukcji Assert. Możesz szybko znaleźć błędy i debugować swój program, umieszczając instrukcje potwierdzenia w całym kodzie.
  2. Dokumentacja: Użycie instrukcji potwierdzenia w kodzie może służyć jako dokumentacja. Instrukcje Assert ułatwiają innym zrozumienie Twojego kodu i pracę z nim, ponieważ wyraźnie opisują założenia, jakie przyjmuje Twój kod.
  3. Testowanie: Aby mieć pewność, że określone wymagania zostaną spełnione, w testach jednostkowych często stosuje się instrukcje asert. Możesz upewnić się, że Twój kod działa poprawnie i że wszelkie wprowadzone zmiany nie zniszczą bieżącej funkcjonalności, włączając instrukcje potwierdzenia do swoich testów.
  4. Bezpieczeństwo: Możesz użyć asert, aby sprawdzić, czy dane wejściowe programu są zgodne z wymaganiami i je zweryfikować. W ten sposób można uniknąć luk w zabezpieczeniach, takich jak przepełnienia bufora i ataki polegające na wstrzykiwaniu SQL.