Kľúčové slovo tvrdenia Pythonu
Tvrdenia Pythonu v akomkoľvek programovacom jazyku sú nástroje na ladenie, ktoré pomáhajú pri plynulom toku kódu. Tvrdenia sú hlavne predpoklady, ktoré programátor vie alebo vždy chce, aby boli pravdivé, a preto ich vkladá do kódu, aby ich zlyhanie neumožnilo ďalšie vykonávanie kódu.
Použiť kľúčové slovo v Pythone
Jednoduchšie povedané, môžeme povedať, že asercia je boolovský výraz, ktorý kontroluje, či je výrok pravdivý alebo nepravdivý. Ak je príkaz pravdivý, neurobí nič a pokračuje vo vykonávaní, ale ak je príkaz False, zastaví vykonávanie programu a vyvolá chybu.
Vývojový diagram vyhlásenia o tvrdení Pythonu
Vývojový diagram vyhlásenia o tvrdení Pythonu
Syntax kľúčového slova v jazyku Python
V Pythone je tvrdiť kľúčové slovo pomáha pri dosahovaní tejto úlohy. Tento príkaz berie ako vstup boolovskú podmienku, ktorá keď vráti hodnotu true, nerobí nič a pokračuje v normálnom toku vykonávania, ale ak je vypočítaná ako nepravdivá, potom vyvolá AssertionError spolu s poskytnutou voliteľnou správou.
Syntax: podmienka tvrdenia, chybová_správa (voliteľné)
Parametre:
- podmienka: Boolovská podmienka, ktorá vracia hodnotu true alebo false.
- chybná správa : Voliteľný argument, ktorý sa má vytlačiť v konzole v prípade AssertionError
Vrátenie: Vráti AssertionError v prípade, že sa podmienka vyhodnotí ako nepravda, spolu s chybovou správou, ktorá sa po zadaní poskytne.
Kľúčové slovo Python tvrdiť bez chybového hlásenia
Tento kód sa snaží pred vykonaním operácie delenia demonštrovať použitie príkazu v Pythone tým, že skontroluje, či hodnota b je 0. a je inicializované na hodnotu 4 a b je inicializované na hodnotu 0. Program vypíše správu Hodnota a / b je: .Príkaz statement skontroluje, či sa b nerovná 0. Keďže b je 0, tvrdenie príkaz zlyhá a vyvolá chybu AssertionError.
Keďže neúspešný príkaz potvrdenia vyvolá výnimku, program sa ukončí a nepokračuje vo vykonávaní príkazu print na ďalšom riadku.
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ýkon:
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: Kľúčové slovo Python s chybovým hlásením
Tento kód sa snaží pred vykonaním operácie rozdelenia demonštrovať použitie statementu v Pythone tým, že skontroluje, či hodnota b je 0. a je inicializované na hodnotu 4 a b je inicializované na hodnotu 0. Program vypíše správu Hodnota a / b je: .Príkaz statement skontroluje, či sa b nerovná 0. Keďže b je 0, tvrdenie príkaz zlyhá a so správou vyvolá AssertionError Chyba nulovej divízie .
Keďže an výnimkou je vyvolaný neúspešným príkazom potvrdenia, program sa ukončí a nepokračuje vo vykonávaní príkazu print na ďalšom riadku.
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ýkon:
AssertionError: Zero Division Error
Tvrdiť vo vnútri funkcie
Príkaz statement sa v tomto príklade používa vo funkcii na overenie, či je dĺžka a šírka obdĺžnika kladná, pred výpočtom jeho plochy. Tvrdenie vyvoláva chybu AssertionError so správou, ak je nepravda, dĺžka a šírka musia byť kladné. Ak je tvrdenie pravdivé, funkcia vráti oblasť obdĺžnika; ak je nepravda, ukončí sa s chybou. Aby sme ukázali, ako využiť aserciu v rôznych situáciách, funkcia sa volá dvakrát, raz s kladnými vstupmi a raz so zápornými vstupmi.
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ýkon:
AssertionError: Length and widthmust be positive
Tvrdiť s boolovskou podmienkou
V tomto príklade príkaz statement kontroluje, či je boolovská podmienka 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ýkon:
x = 10 y = 20
Tvrdiť typ premennej v Pythone
V tomto príklade príkazy claim kontrolujú, či typy premenných a a b sú str a int. Ak niektoré z tvrdení zlyhá, vyvolá chybu AssertionError. Ak obe tvrdenia prejdú, 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ýkon:
a = hello b = 42
Presadzovanie hodnôt zo slovníka
V tomto príklade príkazy claim kontrolujú, či hodnoty spojené s kľúčmi jablko, banán a čerešňa v slovníku my_dict sú 1, 2 a 3. Ak niektoré z tvrdení zlyhá, vyvolá chybu AssertionError. Ak všetky tvrdenia prejdú, program pokračuje a vytlačí obsah slovníka.
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ýkon:
My dictionary contains the following key-value pairs: {'apple': 1, 'banana': 2, 'cherry': 3} Praktické uplatnenie
To má oveľa väčšiu užitočnosť v úlohách testovania a zabezpečenia kvality v akejkoľvek vývojovej doméne. V závislosti od aplikácie sa používajú rôzne typy tvrdení. Nižšie je jednoduchšia ukážka programu, ktorý umožňuje odoslanie iba dávky so všetkými teplými jedlami, inak celú dávku odmietne.
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ýkon:
40 is O.K 26 is O.K 39 is O.K 30 is O.K
Výnimka spustenia:
AssertionError: Batch is Rejected
Prečo používať Python Assert Statement?
V Pythone je príkaz statement účinným nástrojom na ladenie, ktorý vám môže pomôcť identifikovať chyby a zabezpečiť, aby váš kód fungoval podľa plánu. Tu je niekoľko zdôvodnení pre použitie potvrdenia:
- Ladenie: Predpoklady vytvorené vaším kódom je možné overiť pomocou príkazu Claim. Môžete rýchlo nájsť chyby a odladiť svoj program umiestnením príkazov sustain do kódu.
- Dokumentácia: Použitie príkazov potvrdenia vo vašom kóde môže slúžiť ako dokumentácia. Príkazy Assert uľahčujú ostatným pochopenie a prácu s vaším kódom, pretože explicitne opisujú predpoklady, ktoré váš kód vytvára.
- Testovanie: Aby sa zabezpečilo splnenie určitých požiadaviek, často sa pri testovaní jednotiek používajú príkazy tvrdenia. Môžete sa uistiť, že váš kód funguje správne a že žiadne zmeny, ktoré vykonáte, nepoškodia súčasnú funkčnosť, a to tak, že do svojich testov zahrniete aj tvrdenia.
- Zabezpečenie: Assert môžete použiť na kontrolu, či vstupy programu spĺňajú požiadavky, a na ich overenie. Týmto spôsobom sa možno vyhnúť bezpečnostným chybám, ako je pretečenie vyrovnávacej pamäte a útoky SQL injection.