În Python fiecare valoare are un tip de dată, dar atunci când definiţi o variabilă nu trebuie să precizaţi tipul deoarece Python îşi dă singur seama de acest lucru pe baza valorii atribuite variabilei.
Orice lucru din Python este un obiect. Obiectul este un concept abstract (va fi definit mai bine când voi ajunge la OOP), dar... ce trebuie să ştiţi este că obiectele au atribute şi metode (funcţii).
Atributele şi metodele se accesează folosind operatorul punct (.) (Ex: math.pi
). Obiectele pot fi atribuite variabilelor şi pot fi transmise ca argumente funcţiilor.
Pe lângă tipurile pe care le veţi întâlni în acest tutorial, trebuie să ştiţi că mai există şi altele, cum ar fi tipul clasă, tipul modul, tipul funcţie, tipul fişier, tipul cod compilat (până şi codul compilat are tip), etc.
Aceste lucruri sunt posibile deoarece - REŢINEŢI - în Python există numai obiecte.
Numere
Aţi văzut deja exemple. Numerele în Python sunt:- Întregi: -4, 1, 68, 78964, -45
- Float (Numere Reale): 2.234, -234.4, 1.0
- Fracţii (Numere Raţionale): 1/2, 4/5, 2/3
- Numere Complexe: 1+4j, 2-3j, 5j
>>> import fractions >>> x = fractions.Fraction(4, 5) # Defineste o fractie >>> x Fraction(4, 5) # 4 / 5 >>> 2 * x Fraction(8, 5) >>> y = fractions.Fraction(1, 2) >>> x + y Fraction(13, 10) >>> fractions.Fraction(1, 0) Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> fractions.Fraction(1, 0) File "C:\Python33\lib\fractions.py", line 167, in __new__ raise ZeroDivisionError('Fraction(%s, 0)' % numerator) ZeroDivisionError: Fraction(1, 0)Ca să puteţi folosi fracţiile trebuie să importaţi modulul fractions.
Fracţiile suportă şi ele aceleaşi operaţii matematice ca şi celelalte numere. Python nu permite împărţirea prin zero.
Fracţiile vor fi aduse automat la forma ireductibilă de către obiectul
Fractions
.Numerele complexe sunt definite în Python. Numerele imaginare au sufixul j sau J.
Nu este necesar să importaţi vreun modul ca să le puteţi folosi.
>>> z = 3 + 4j >>> q = 9 - 7j >>> z + q (12-3j) >>> z - q (-6+11j) >>> z * q (55+15j) >>> z / q (-0.007692307692307695+0.4384615384615385j) >>> q.conjugate() # Conjugatul lui q (9+7j) >>> z.real # Partea reala 3.0 >>> z.imag # Partea imaginara 4.0 >>> x = complex(1, 2) # Un alt mod de a crea un nr complex >>> x (1+2j)Nu există limită pentru lungimea întregilor. Pot fi oricât de lungi vreţi (trebuie doar să aveţi destulă memorie).
>>> wow = 239502357286547637657436598234983928647836745836473856738402390417309720953498564836502479104739846537845619823675498734572039470943579034578634578353785387583457384583745873458345810123131091928301297394730291093 >>> wow 239502357286547637657436598234983928647836745836473856738402390417309720953498564836502479104739846537845619823675498734572039470943579034578634578353785387583457384583745873458345810123131091928301297394730291093Numerele float au o precizie de 15 zecimale, dar aveţi grijă deoarece operaţiile cu float nu sunt întotdeauna precise. De exemplu:
>>> import math >>> math.tan(math.pi / 4) 0.9999999999999999 # Ar fi trebuit sa fie 1.0Puteţi folosi funcţia
abs
ca să aflaţi valoarea absolută a unui număr şi funcţia round
ca să rotunjiţi un float.
>>> z = 2+2j >>> abs(z) 2.8284271247461903 >>> p = -3 >>> abs(p) 3 >>> i = 9j >>> abs(i) 9.0 >>> x = 2.678 >>> round(x) 3 >>> round(x, 1) 2.7 >>> round(x, 2) 2.68 >>> round(x, 3) 2.678Al doilea parametru al funcţiei
round
reprezintă precizia rotunjirii (la câte zecimale să fie rotunjit numărul).
Booleeni
Valorile booleene apar în instrucţiunile decizionale, în loop-urilewhile, for
, practic în orice context boolean (expresiile de la care Python aşteaptă o valoare booleană). O valoare booleană poate fi
True
sau False
. Valorile nenule sunt considerate
True
, iar cele nule sunt considerate False
. Din acest motiv, practic orice expresie poate fi folosită într-un context boolean.
Operatorii care returnează valori booleene sunt:
>, <, ==, >=, <=, not
>>> 1 < 2 True >>> 1 > 5 False >>> 2 == 2 # echivalent True >>> 9 <= 10 # mai mic sau egal True >>> 11 >= 11 # mai mare sau egal True >>> 1.0 == 1 >>> (1/2) / (1/2) == 1 True not 1 < 2 FalseOperatorul
not
inversează valoarea de adevăr a expresiei. Nu confundaţi operatorul de atribuire = cu operatorul de egalitate == !
Operatorii logici în Python sunt
and
şi or
.
>>> True and True True >>> False and True False >>> True or False True >>> False or False FalseAND returnează TRUE dacă ambii operanzi sunt TRUE.
OR returnează TRUE dacă unul dintre operanzi este TRUE.
Vom folosi aceşti operatori la structurile de control.
Niciun comentariu:
Trimiteți un comentariu
Rețineți: Numai membrii acestui blog pot posta comentarii.