Cuvintele cheie sunt cuvinte rezervate în Python. Nu putem folosi un cuvânt cheie ca nume de variabilă, nume de funcție sau orice alt identificator.
Iată o listă a tuturor cuvintelor cheie în programarea Python
False | await | else | import | pass | import | pass |
None | break | except | in | raise | ||
True | class | final | is | return | return | |
and | continuă | pentru | lambda | încearcă | ||
ca | def | def | from | nonlocal | while | |
assert | del | global | global | not | with | |
async | elif | if | or | yield | yield |
Cele de mai sus pot fi modificate în diferite versiuni de Python. Unele în plus ar putea fi adăugate sau unele ar putea fi eliminate. Puteți obține întotdeauna lista cuvintelor cheie în versiunea curentă tastând următoarele în prompt.
>>> import keyword>>> print(keyword.kwlist)
Descriere a cuvintelor cheie în Python cu exemple
True, False
True
și False
sunt valori de adevăr în Python. Ele sunt rezultatele operațiilor de comparație sau ale operațiilor logice (booleene) în Python. De exemplu:
>>> 1 == 1True>>> 5 > 3True>>> True or FalseTrue>>> 10 <= 1False>>> 3 > 7False>>> True and FalseFalse
>>> 1 == 1True>>> 5 > 3True>>> True or FalseTrue>>> 10 <= 1False>>> 3 > 7False>>> True and FalseFalse
Aici putem vedea că primele trei declarații sunt adevărate, astfel că interpretul returnează True
și returnează False
pentru celelalte trei declarații. True
și False
în python este același lucru cu 1
și 0
. Acest lucru poate fi justificat cu următorul exemplu:
>>> True == 1True>>> False == 0True>>> True + True2
None
None
este o constantă specială în Python care reprezintă absența unei valori sau o valoare nulă.
Este un obiect cu propriul tip de date, NoneType
. Nu putem crea mai multe obiecte None
, dar îl putem atribui unor variabile. Aceste variabile vor fi egale între ele.
Trebuie să avem o grijă deosebită ca None
să nu implice False
, 0
sau orice listă goală, dicționar, șir de caractere etc. De exemplu:
>>> None == 0False>>> None == False>>> None == FalseFalse>>> x = None>>> y = None>>> x == yTrue
Funcțiile goale care nu returnează nimic vor returna automat un obiect None
. None
este returnat, de asemenea, de funcțiile în care fluxul programului nu întâlnește o instrucțiune return. De exemplu:
def a_void_function(): a = 1 b = 2 c = a + bx = a_void_function()print(x)
Output
None
Acest program are o funcție care nu returnează o valoare, deși face unele operații în interior. Astfel, când imprimăm x, obținem None
care este returnată automat (implicit). În mod similar, iată un alt exemplu:
def improper_return_function(a): if (a % 2) == 0: return Truex = improper_return_function(3)print(x)
Output
None
Deși această funcție are o instrucțiune return
, ea nu este atinsă în toate cazurile. Funcția va returna True
doar atunci când intrarea este pară.
Dacă dăm funcției un număr impar, None
este returnat implicit.
și, sau , not
and
, or
, not
sunt operatorii logici din Python. and
va rezulta în True
numai dacă ambii operanzi sunt True
. Tabelul de adevăr pentru and
este prezentat mai jos:
A | B | A și B | ||
---|---|---|---|---|
True | True | True | ||
True | False | False | False | False |
False | True | False | ||
False | ||||
False | False | False |
or
va avea ca rezultat True
dacă oricare dintre operanzi este True
. Tabelul de adevăr pentru or
este prezentat mai jos:
A | B | A sau B | ||
---|---|---|---|---|
True | True | True | ||
True | False | True | ||
False | True | True | ||
False | False | False | False | False |
not
operatorul este utilizat pentru a inversa valoarea de adevăr. Tabelul de adevăr pentru not
este prezentat mai jos:
A | nu este A |
---|---|
adevărat | fals |
fals | True |
un exemplu de utilizare a acestora este dat mai jos
>>> True and FalseFalse>>> True or FalseTrue>>> not FalseTrue
as
as
este utilizat pentru a crea un alias în timpul importului unui modul. Aceasta înseamnă să dai un nume diferit (definit de utilizator) unui modul în timp ce îl imporți.
Ca de exemplu, Python are un modul standard numit math
. Să presupunem că dorim să calculăm ce cosinus este pi folosind un alias. Putem face acest lucru după cum urmează folosind as
:
>>> import math as myAlias>>>myAlias.cos(myAlias.pi)-1.0
Aici am importat modulul math
dându-i numele myAlias
. Acum ne putem referi la modulul math
cu acest nume. Folosind acest nume am calculat cos(pi) și am obținut -1.0
ca răspuns.
assert
assert
este folosit în scopuri de depanare.
În timpul programării, uneori dorim să cunoaștem starea internă sau să verificăm dacă ipotezele noastre sunt adevărate. assert
ne ajută să facem acest lucru și să găsim erorile mai convenabil. assert
este urmat de o condiție.
Dacă condiția este adevărată, nu se întâmplă nimic. Dar dacă condiția este falsă, se ridică AssertionError
. De exemplu:
>>> a = 4>>> assert a < 5>>> assert a > 5Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError
Pentru o mai bună înțelegere a noastră, putem, de asemenea, să furnizăm un mesaj care să fie tipărit împreună cu AssertionError
.
>>> a = 4>>> assert a > 5, "The value of a is too small"Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError: The value of a is too small
În acest punct putem observa că,
assert condition, message
este echivalent cu,
if not condition: raise AssertionError(message)
async, await
Celelalte cuvinte cheie async
și await
sunt furnizate de biblioteca asyncio
din Python. Acestea sunt utilizate pentru a scrie cod concurent în Python. De exemplu,
import asyncioasync def main(): print('Hello') await asyncio.sleep(1) print('world')
Pentru a rula programul, folosim
asyncio.run(main())
În programul de mai sus, cuvântul cheie async
specifică faptul că funcția va fi executată în mod asincron.
Aici, se tipărește primul Hello. Cuvântul cheie await
face ca programul să aștepte timp de 1 secundă. Și apoi se tipărește lumea.
break, continue
break
și continue
sunt folosite în interiorul buclelor for
și while
pentru a modifica comportamentul lor normal.
break
va încheia cea mai mică buclă în care se află și controlul trece la instrucțiunea imediat sub buclă. continue
face să se încheie iterația curentă a buclei, dar nu întreaga buclă.
Acest lucru poate fi ilustrat cu următoarele două exemple:
for i in range(1,11): if i == 5: break print(i)
Output
1234
Aici, bucla for
intenționează să tipărească numere de la 1 la 10. Dar condiția if
este îndeplinită atunci când i este egal cu 5 și ieșim din buclă. Astfel, este tipărit doar intervalul de la 1 la 4.
for i in range(1,11): if i == 5: continue print(i)
Scoatere
1234678910
Aici folosim continue
pentru același program. Astfel, atunci când condiția este îndeplinită, iterația respectivă este sărită. Dar nu ieșim din buclă. Prin urmare, toate valorile, cu excepția lui 5, sunt tipărite.
Învățați mai multe despre instrucțiunea break și continue din Python.
class
class
se utilizează pentru a defini o nouă clasă definită de utilizator în Python.
Clasa este o colecție de atribute și metode conexe care încearcă să reprezinte o situație din lumea reală. Această idee de a pune date și funcții împreună într-o clasă este esențială pentru conceptul de programare orientată pe obiecte (OOP).
Classele pot fi definite oriunde într-un program. Dar este o bună practică să se definească o singură clasă într-un modul. Urmează un exemplu de utilizare:
class ExampleClass: def function1(parameters): … def function2(parameters): …
Învățați mai multe despre obiectele și clasele Python.
def
def
se utilizează pentru a defini o funcție definită de utilizator.
Funcția este un bloc de instrucțiuni conexe, care împreună realizează o anumită sarcină specifică. Ne ajută să organizăm codul în bucăți ușor de gestionat și, de asemenea, să realizăm unele sarcini repetitive.
Utilizarea lui def
este prezentată mai jos:
def function_name(parameters): …
Aflați mai multe despre funcțiile Python.
del
del
se utilizează pentru a șterge referința la un obiect. Totul este obiect în Python. Putem șterge o referință la o variabilă folosind del
>>> a = b = 5>>> del a>>> aTraceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>NameError: name 'a' is not defined>>> b5
Aici putem vedea că referința variabilei a a fost ștearsă. Așadar, aceasta nu mai este definită. Dar b încă mai există.
del
este, de asemenea, utilizat pentru a șterge elemente dintr-o listă sau dintr-un dicționar:
>>> a = >>> del a>>> a
if, else, elif
if, else, elif
sunt utilizate pentru ramificarea condiționată sau pentru luarea deciziilor.
Când dorim să testăm o anumită condiție și să executăm un bloc numai dacă condiția este adevărată, atunci folosim if
și elif
. elif
este prescurtarea de la else if. else
este blocul care se execută în cazul în care condiția este falsă. Acest lucru va fi clar cu exemplul următor:
def if_example(a): if a == 1: print('One') elif a == 2: print('Two') else: print('Something else')if_example(2)if_example(4)if_example(1)
Output
TwoSomething elseOne
Aici, funcția verifică numărul de intrare și tipărește rezultatul dacă acesta este 1 sau 2. Orice altă intrare în afară de aceasta va face ca partea else
a codului să se execute.
Învățați mai multe despre Python if și if…else Statement.
except, raise, try
except, raise, try
sunt folosite cu excepții în Python.
Excepțiile sunt practic erori care sugerează că ceva nu a mers bine în timpul executării programului nostru. IOError
, ValueError
, ZeroDivisionError
, ImportError
, NameError
, TypeError
etc. sunt câteva exemple de excepții în Python. Blocurile try...except
sunt folosite pentru a prinde excepțiile în Python.
Potem ridica o excepție în mod explicit cu ajutorul cuvântului cheie raise
. Urmează un exemplu:
Salire
0.1Exception caughtNone
Aici, funcția reciprocal()
returnează reciproca numărului de intrare.
Când introducem 10, obținem ieșirea normală de 0,1. Dar când introducem 0, se ridică automat un ZeroDivisionError
.
Acesta este prins de blocul nostru try…except
și returnăm None
. Am fi putut, de asemenea, să ridicăm ZeroDivisionError
în mod explicit prin verificarea intrării și să o gestionăm în altă parte, după cum urmează:
if num == 0: raise ZeroDivisionError('cannot divide')
final
finally
se utilizează cu blocul try…except
pentru a închide resursele sau fluxurile de fișiere.
Utilizarea lui finally
asigură că blocul de cod din interiorul său este executat chiar dacă există o excepție netransmisă. De exemplu:
try: Try-blockexcept exception1: Exception1-blockexcept exception2: Exception2-blockelse: Else-blockfinally: Finally-block
Aici, dacă există o excepție în Try-block
, aceasta este tratată în blocul except
sau else
. Dar, indiferent de ordinea în care decurge execuția, putem fi siguri că Finally-block
este executat chiar dacă există o eroare. Acest lucru este util în curățarea resurselor.
Învățați mai multe despre tratarea excepțiilor în programarea Python.
for
for
este utilizat pentru buclă. În general folosim for
atunci când știm numărul de ori de câte ori vrem să facem o buclă.
În Python îl putem folosi cu orice tip de secvențe, cum ar fi o listă sau un șir de caractere. Iată un exemplu în care for
este folosit pentru a parcurge o listă de nume:
names = for i in names: print('Hello '+i)
Output
Hello JohnHello MonicaHello StevenHello Robin
Învățați mai multe despre Python pentru buclă.
from, import
import
Cuvântul cheie este folosit pentru a importa module în spațiul de nume curent. se utilizează pentru a importa atribute sau funcții specifice în spațiul de nume curent. De exemplu:
import math
va importa modulul math
. Acum putem folosi funcția cos()
în interiorul acestuia ca math.cos()
. Dar dacă am vrut să importăm doar funcția cos()
, acest lucru se poate face folosind from
as
from math import cos
acum putem folosi funcția pur și simplu ca cos()
, nu mai este nevoie să scriem math.cos()
.
Aflați mai multe despre modulele Python și declarația de import.
global
global
se utilizează pentru a declara că o variabilă din interiorul funcției este globală (în afara funcției).
Dacă avem nevoie să citim valoarea unei variabile globale, nu este necesar să o definim ca global
. Acest lucru este înțeles.
Dacă avem nevoie să modificăm valoarea unei variabile globale în interiorul unei funcții, atunci trebuie să o declarăm cu global
. În caz contrar, este creată o variabilă locală cu acest nume.
Exemplul următor ne va ajuta să clarificăm acest lucru.
globvar = 10def read1(): print(globvar)def write1(): global globvar globvar = 5def write2(): globvar = 15read1()write1()read1()write2()read1()
Output
1055
Aici, funcția read1()
nu face decât să citească valoarea lui globvar
. Prin urmare, nu este necesar să o declarăm ca global
. Dar funcția write1()
modifică valoarea, așa că trebuie să declarăm variabila ca fiind global
.
Potem vedea în ieșire că modificarea a avut loc (10 este schimbat în 5). Funcția write2()
încearcă, de asemenea, să modifice această valoare. Dar noi nu am declarat-o ca fiind global
.
În consecință, este creată o nouă variabilă locală globvar
care nu este vizibilă în afara acestei funcții. Deși modificăm această variabilă locală la 15, variabila globală rămâne neschimbată. Acest lucru este clar vizibil în rezultatul nostru.
în
in
este utilizat pentru a testa dacă o secvență (listă, tupla, șir de caractere etc.) conține o valoare. Acesta returnează True
dacă valoarea este prezentă, în caz contrar returnează False
. De exemplu:
>>> a = >>> 5 in aTrue>>> 10 in aFalse
Utilizarea secundară a lui in
este de a parcurge o secvență într-o buclă for
.
for i in 'hello': print(i)
Output
hello
is
is
este utilizat în Python pentru testarea identității obiectelor. În timp ce operatorul ==
este utilizat pentru a testa dacă două variabile sunt egale sau nu, is
este utilizat pentru a testa dacă cele două variabile se referă la același obiect.
Se returnează True
dacă obiectele sunt identice și False
dacă nu.
>>> True is TrueTrue>>> False is FalseTrue>>> None is NoneTrue
Știm că există o singură instanță a True
, False
și None
în Python, deci sunt identice.
>>> == True>>> is False>>> {} == {}True>>> {} is {}False
O listă sau un dicționar gol este egal cu un alt dicționar gol. Dar ele nu sunt obiecte identice, deoarece sunt localizate separat în memorie. Acest lucru se datorează faptului că lista și dicționarul sunt mutabile (valoarea poate fi modificată).
>>> '' == ''True>>> '' is ''True>>> () == ()True>>> () is ()True
În mod diferit de listă și dicționar, șirul de caractere și tupla sunt imuabile (valoarea nu poate fi modificată odată definită). Prin urmare, două șiruri sau tuple egale sunt și ele identice. Ele se referă la aceeași locație de memorie.
lambda
lambda
se utilizează pentru a crea o funcție anonimă (funcție fără nume). Este o funcție inline care nu conține o instrucțiune return
. Aceasta constă într-o expresie care este evaluată și returnată. De exemplu:
a = lambda x: x*2for i in range(1,6): print(a(i))
Output
246810
Aici, am creat o funcție inline care dublează valoarea, folosind instrucțiunea lambda
. Am folosit-o pentru a dubla valorile dintr-o listă care conține de la 1 la 5.
Aflați mai multe despre funcția Python lamda.
nonlocal
Utilizarea cuvântului cheie nonlocal
este foarte asemănătoare cu cea a cuvântului cheie global
. nonlocal
este utilizat pentru a declara că o variabilă din interiorul unei funcții imbricate (funcție în interiorul unei funcții) nu este locală pentru aceasta, ceea ce înseamnă că se află în funcția exterioară care o înclină. Dacă trebuie să modificăm valoarea unei variabile nelocale în interiorul unei funcții imbricate, atunci trebuie să o declarăm cu nonlocal
. În caz contrar, se creează o variabilă locală cu acest nume în interiorul funcției imbricate. Următorul exemplu ne va ajuta să clarificăm acest lucru.
def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()
Output
Inner function: 10Outer function: 10
Aici, inner_function()
este imbricata în outer_function
.
Variabila a se află în outer_function()
. Deci, dacă dorim să o modificăm în inner_function()
, trebuie să o declarăm ca nonlocal
. Observați că a nu este o variabilă globală.
În consecință, vedem din rezultat că variabila a fost modificată cu succes în interiorul inner_function()
imbricate. Rezultatul nefolosirii cuvântului cheie nonlocal
este următorul:
def outer_function(): a = 5 def inner_function(): a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()
Scoatere
Inner function: 10Outer function: 5
Aici, nu declarăm că variabila a din interiorul funcției imbricate este nonlocal
. Prin urmare, este creată o nouă variabilă locală cu același nume, dar variabila nelocală a nu este modificată, așa cum se vede în ieșirea noastră.
pass
pass
este o declarație nulă în Python. Nu se întâmplă nimic atunci când este executată. Este folosită ca un placeholder.
Să presupunem că avem o funcție care nu este încă implementată, dar pe care dorim să o implementăm în viitor. Simpla scriere,
def function(args):
în mijlocul unui program ne va da IndentationError
. În loc de aceasta, construim un corp gol cu instrucțiunea pass
.
def function(args): pass
Potem face același lucru și într-un class
gol.
class example: pass
return
return
Instrucțiunea se folosește în interiorul unei funcții pentru a ieși din ea și a returna o valoare.
Dacă nu returnăm o valoare în mod explicit, None
este returnată automat. Acest lucru se verifică cu următorul exemplu.
def func_return(): a = 10 return adef no_return(): a = 10print(func_return())print(no_return())
Output
10None
while
while
este utilizat pentru bucle în Python.
Explicațiile din interiorul unei bucle while
continuă să se execute până când condiția pentru bucla while
este evaluată la False
sau se întâlnește o instrucțiune break
. Următorul program ilustrează acest lucru.
i = 5while(i): print(i) i = i – 1
Output
54321
Rețineți că 0 este egal cu False
.
Învățați mai multe despre bucla Python while.
with
with
Instrucțiunea este utilizată pentru a îngloba execuția unui bloc de cod în metodele definite de managerul de context.
Managerul de context este o clasă care implementează metodele __enter__
și __exit__
. Utilizarea instrucțiunii with
asigură faptul că metoda __exit__
este apelată la sfârșitul blocului aninat. Acest concept este similar cu utilizarea blocului try…finally
. Iată, este un exemplu.
with open('example.txt', 'w') as my_file: my_file.write('Hello world!')
Acest exemplu scrie textul Hello world!
în fișierul example.txt
. Obiectele fișier au metodele __enter__
și __exit__
definite în cadrul lor, astfel încât acestea acționează ca propriul manager de context.
Primul este apelată metoda __enter__
, apoi se execută codul din cadrul instrucțiunii with
și în final este apelată metoda __exit__
. Metoda __exit__
este apelată chiar dacă există o eroare. Practic, aceasta închide fluxul de fișiere.
yield
yield
este utilizată în interiorul unei funcții ca o instrucțiune return
. Dar yield
returnează un generator.
Generator este un iterator care generează câte un element la un moment dat. O listă mare de valori va ocupa o mulțime de memorie. Generatoarele sunt utile în această situație, deoarece generează o singură valoare la un moment dat, în loc să stocheze toate valorile în memorie. De exemplu,
>>> g = (2**x for x in range(100))
>>> g = (2**x for x in range(100))
va crea un generator g care generează puteri de 2 până la numărul doi ridicat la puterea 99. Putem genera numerele folosind funcția next()
așa cum se arată mai jos.
>>> next(g)1>>> next(g)2>>> next(g)4>>> next(g)8>>> next(g)16
Și așa mai departe… Acest tip de generator este returnat de instrucțiunea yield
de la o funcție. Iată un exemplu.
def generator(): for i in range(6): yield i*ig = generator()for i in g: print(i)
Output
.