logo

Python apstiprinājuma atslēgvārds

Python apgalvojumi jebkurā programmēšanas valodā ir atkļūdošanas rīki, kas palīdz nodrošināt vienmērīgu koda plūsmu. Apgalvojumi galvenokārt ir pieņēmumi, ka programmētājs zina vai vienmēr vēlas būt patiess, un tāpēc ievieto tos kodā, lai to neveiksme neļautu kodam turpināt izpildīt.

Atslēgvārda nostiprināšana programmā Python

Vienkāršāk sakot, mēs varam teikt, ka apgalvojums ir Būla izteiksme, kas pārbauda, ​​vai apgalvojums ir patiess vai nepatiess. Ja paziņojums ir patiess, tas neko nedara un turpina izpildi, bet, ja paziņojums ir False, tas aptur programmas izpildi un rada kļūdu.

Python apgalvojuma blokshēma

apgalvot Python

Python apgalvojuma blokshēma



Python apstiprinājuma atslēgvārda sintakse

Programmā Python , apgalvot atslēgvārds palīdz sasniegt šo uzdevumu. Šis paziņojums kā ievadi izmanto Būla nosacījumu, kas, atgriežot vērtību True, neko nedara un turpina parasto izpildes plūsmu, taču, ja tas tiek aprēķināts kā nepatiess, tas rada AssertionError kopā ar neobligāto ziņojumu.

Sintakse : apgalvot nosacījumu, error_message (neobligāti)

Parametri:

  • stāvoklis: Būla nosacījums, kas atgriež patiesu vai nepatiesu.
  • kļūdas ziņojums : Neobligāts arguments, kas jādrukā konsolē AssertionError gadījumā

Atgriež: Atgriež AssertionError, ja nosacījums tiek novērtēts kā nepatiess, kā arī kļūdas ziņojums, kas tiek nodrošināts.

Python atslēgvārds bez kļūdas ziņojuma

Šis kods mēģina demonstrēt apgalvojuma izmantošanu Python, pārbaudot, vai b vērtība ir 0 pirms dalīšanas darbības veikšanas. a tiek inicializēta ar vērtību 4, bet b tiek inicializēta ar vērtību 0. Programma izdrukā ziņojumu. A / b vērtība ir: .Apgalvojuma paziņojums pārbauda, ​​vai b nav vienāds ar 0. Tā kā b ir 0, apgalvojums paziņojums neizdodas un rada AssertionError.
Tā kā neveiksmīgais apgalvojuma apgalvojums rada izņēmumu, programma tiek pārtraukta un neturpina izpildīt drukas paziņojumu nākamajā rindā.

Python3


java skenera klase



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

>

>

Izvade:

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

Python assert atslēgvārds ar kļūdas ziņojumu

Šis kods mēģina demonstrēt apgalvojuma izmantošanu Python, pārbaudot, vai b vērtība ir 0 pirms dalīšanas darbības veikšanas. a tiek inicializēta ar vērtību 4, bet b ir inicializēta ar vērtību 0. Programma izdrukā ziņojumu. A / b vērtība ir: .Apgalvojuma paziņojums pārbauda, ​​vai b nav vienāds ar 0. Tā kā b ir 0, apgalvojums paziņojums neizdodas un kopā ar ziņojumu rada AssertionError Nulles dalījuma kļūda .
Kopš an izņēmums tiek izvirzīts neveiksmīgā apgalvojuma dēļ, programma tiek pārtraukta un neturpina izpildīt drukas paziņojumu nākamajā rindā.

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

>

Izvade:

AssertionError: Zero Division Error>

Apstiprināt funkcijas iekšpusē

Šajā piemērā apgalvojums tiek izmantots funkcijā, lai pārbaudītu, vai taisnstūra garums un platums ir pozitīvs, pirms tiek aprēķināts tā laukums. Apgalvojums rada AssertionError ar ziņojumu Garumam un platumam jābūt pozitīvam, ja tas ir nepatiess. Ja apgalvojums ir patiess, funkcija atgriež taisnstūra laukumu; ja tas ir nepatiess, tas iziet ar kļūdu. Lai parādītu, kā izmantot apgalvojumu dažādās situācijās, funkcija tiek izsaukta divas reizes, vienu reizi ar pozitīvām ievadēm un vienu reizi ar negatīvām ievadēm.

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>>>and> width>>>,>'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)>

>

>

Izvade:

AssertionError: Length and widthmust be positive>

Apgalvojums ar Būla nosacījumu

Šajā piemērā apgalvojums Assert pārbauda, ​​vai Būla nosacījums 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)>

>

>

Izvade:

x = 10 y = 20>

Apstiprināt mainīgā veidu Python

Šajā piemērā apgalvojumi par apgalvojumu pārbauda, ​​vai mainīgo a un b tipi ir attiecīgi str un int. Ja kāds no apgalvojumiem neizdodas, tas rada AssertionError. Ja abi apgalvojumi iziet, programma turpina un izdrukā a un b vērtības.

atsauces mainīgais Java

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

>

>

Izvade:

a = hello b = 42>

Vārdnīcas vērtību apliecināšana

Šajā piemērā apgalvojumi par apgalvojumu pārbauda, ​​vai vārdnīcā my_dict ar atslēgām ābols, banāns un ķirsis saistītās vērtības ir attiecīgi 1, 2 un 3. Ja kāds no apgalvojumiem neizdodas, tas rada AssertionError. Ja visi apgalvojumi ir izturēti, programma turpinās un izdrukā vārdnīcas saturu.

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

>

>

Izvade:

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

Praktisks pielietojums

Tam ir daudz lielāka lietderība testēšanas un kvalitātes nodrošināšanas lomās jebkurā izstrādes jomā. Atkarībā no pielietojuma tiek izmantoti dažāda veida apgalvojumi. Tālāk ir sniegta vienkāršāka programmas demonstrācija, kas ļauj nosūtīt tikai partiju ar visu karsto pārtiku, pretējā gadījumā noraida visu partiju.

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

>

>

Izvade:

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

Izņēmums izpildlaikā:

AssertionError: Batch is Rejected>

Kāpēc izmantot Python apgalvojumu?

Programmā Python apgalvojums par apgalvojumu ir spēcīgs atkļūdošanas rīks, kas var palīdzēt identificēt kļūdas un nodrošināt, ka kods darbojas, kā paredzēts. Šeit ir vairāki apgalvojuma izmantošanas attaisnojumi:

  1. Atkļūdošana: Jūsu koda izdarītos pieņēmumus var pārbaudīt, izmantojot apgalvojumu. Varat ātri atrast kļūdas un atkļūdot programmu, visā kodā ievietojot apgalvojumus.
  2. Dokumentācija: Apgalvojumu apgalvojumu izmantošana jūsu kodā var darboties kā dokumentācija. Apgalvojuma apgalvojumi citiem atvieglo jūsu koda izpratni un darbu ar to, jo tie skaidri apraksta jūsu koda radītos pieņēmumus.
  3. Pārbaude: Lai nodrošinātu noteiktu prasību izpildi, vienību testēšanā bieži tiek izmantoti apgalvojumi. Varat pārliecināties, ka kods darbojas pareizi un vai visas veiktās izmaiņas nekaitē pašreizējai funkcionalitātei, testos iekļaujot apgalvojumus.
  4. Drošība: Varat izmantot apstiprinājumu, lai pārbaudītu, vai programmas ievades atbilst prasībām, un apstiprinātu tās. Šādi rīkojoties, var izvairīties no tādiem drošības trūkumiem kā bufera pārpilde un SQL injekcijas uzbrukumi.