Klíčové slovo pro tvrzení Pythonu

Klíčové slovo pro tvrzení Pythonu

Tvrzení v Pythonu v každém programovacím jazyce jsou nástroje pro ladění, které pomáhají hladkému toku kódu. Tvrzení jsou hlavně předpoklady, které programátor ví nebo vždy chce být pravdivé, a proto je vkládá do kódu, aby jejich selhání neumožnilo další provádění kódu.

Tvrdit klíčové slovo v Pythonu

Zjednodušeně lze říci, že aserce je booleovský výraz, který kontroluje, zda je příkaz pravdivý nebo nepravdivý. Pokud je příkaz pravdivý, nedělá nic a pokračuje v provádění, ale pokud je příkaz False, zastaví provádění programu a vyvolá chybu.

Vývojový diagram prohlášení Python Assert

tvrdit v Pythonu

Vývojový diagram prohlášení o tvrzeních v Pythonu

Syntaxe klíčového slova v Pythonu

V Pythonu je tvrdit klíčové slovo pomáhá při plnění tohoto úkolu. Tento příkaz bere jako vstup booleovskou podmínku, která, když vrátí true, nic nedělá a pokračuje v normálním toku provádění, ale pokud je vypočítána jako nepravdivá, vyvolá AssertionError spolu s volitelnou poskytnutou zprávou.

Syntaxe: podmínka potvrzení, chybová_zpráva (nepovinné)

Parametry:

  • podmínka: Booleovská podmínka vrací hodnotu true nebo false.
  • chybové hlášení : Volitelný argument, který se má vytisknout v konzole v případě AssertionError

Vrácení: Vrátí AssertionError v případě, že se podmínka vyhodnotí jako nepravda spolu s chybovou zprávou, která je poskytnuta.

Klíčové slovo v Pythonu bez chybové zprávy

Tento kód se snaží před provedením operace dělení demonstrovat použití statement v Pythonu kontrolou, zda hodnota b je 0. a je inicializováno na hodnotu 4 a b je inicializováno na hodnotu 0. Program vytiskne zprávu Hodnota a / b je: .Příkaz statement zkontroluje, zda b není rovno 0. Protože b je 0, asset příkaz selže a vyvolá AssertionError.
Vzhledem k tomu, že neúspěšný příkaz statement vyvolá výjimku, program se ukončí a nepokračuje v provádění příkazu print na dalším řádku.

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)>

Výstup:

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 claim b != 0 11 print(a / b) AssertionError: 

Klíčové slovo v Pythonu s chybovou zprávou

Tento kód se snaží před provedením operace dělení demonstrovat použití statement v Pythonu kontrolou, zda hodnota b je 0. a je inicializováno na hodnotu 4 a b je inicializováno na hodnotu 0. Program vytiskne zprávu Hodnota a / b je: .Příkaz statement zkontroluje, zda b není rovno 0. Protože b je 0, asset příkaz selže a se zprávou vyvolá AssertionError Chyba nulové divize .
Od an výjimka je vyvoláno neúspěšným příkazemasseste, program se ukončí a nepokračuje v provádění příkazu print na dalším řádku.

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)>

Výstup:

AssertionError: Zero Division Error 

Tvrdit uvnitř funkce

Příkaz statement se v tomto příkladu používá uvnitř funkce k ověření, že délka a šířka obdélníku jsou kladné před výpočtem jeho plochy. AssertionError vyvolá AssertionError se zprávou Délka a šířka musí být kladná, pokud je nepravdivá. Pokud je tvrzení pravdivé, funkce vrátí plochu obdélníku; pokud je nepravda, ukončí se s chybou. Abychom ukázali, jak využít aserci v různých situacích, je funkce volána dvakrát, jednou s kladnými vstupy a jednou se zápornými vstupy.

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)>

Výstup:

AssertionError: Length and widthmust be positive 

Tvrdit s booleovskou podmínkou

V tomto příkladu příkaz statement kontroluje, zda je booleovská podmínka 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)>

Výstup:

x = 10 y = 20 

Tvrdit typ proměnné v Pythonu

V tomto příkladu příkazy claim kontrolují, zda jsou typy proměnných a a b str a int, v daném pořadí. Pokud některé z tvrzení selže, vyvolá chybu AssertionError. Pokud obě tvrzení projdou, program pokračuje a vypíše hodnoty a a 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)>

Výstup:

a = hello b = 42 

Prosazování slovníkových hodnot

V tomto příkladu příkazy statement kontrolují, zda hodnoty spojené s klíči jablko, banán a třešeň ve slovníku my_dict jsou 1, 2 a 3. Pokud některé z tvrzení selže, vyvolá chybu AssertionError. Pokud všechna tvrzení projdou, program pokračuje a vytiskne obsah slovníku.

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)>

Výstup:

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

Praktická aplikace

To má mnohem větší využití v rolích Testování a zajišťování kvality v jakékoli doméně vývoje. V závislosti na aplikaci se používají různé typy tvrzení. Níže je jednodušší ukázka programu, který umožňuje odeslat pouze dávku se všemi teplými potravinami, jinak celou dávku odmítne.

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'> )>

Výstup:

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

Výjimka za běhu:

AssertionError: Batch is Rejected 

Proč používat Python Assert Statement?

V Pythonu je příkaz statement účinným nástrojem pro ladění, který může pomoci při identifikaci chyb a zajištění toho, že váš kód funguje tak, jak bylo zamýšleno. Zde je několik zdůvodnění pro použití sustain:

  1. Ladění: Předpoklady vytvořené vaším kódem lze ověřit pomocí příkazu Claim. Můžete rychle najít chyby a odladit svůj program tím, že do svého kódu umístíte příkazy statement.
  2. Dokumentace: Použití příkazů claim ve vašem kódu může fungovat jako dokumentace. Příkazy Assert usnadňují ostatním pochopení vašeho kódu a práci s ním, protože explicitně popisují předpoklady, které váš kód vytváří.
  3. Testování: Aby bylo zajištěno, že jsou splněny určité požadavky, často se při testování jednotek používají příkazy claim. Můžete se ujistit, že váš kód funguje správně a že žádné změny, které provedete, nepoškodí současnou funkčnost tím, že do testů začleníte příkazy claim.
  4. Bezpečnostní: Assert můžete použít ke kontrole, zda vstupy programu splňují požadavky, a jejich ověření. Tím se lze vyhnout bezpečnostním chybám, jako je přetečení vyrovnávací paměti a útoky SQL injection.