logo

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


listy Javy



# 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

rozmiar czcionki, lateks




# 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.