joi, 11 aprilie 2013

Tutorial Python - Calculatorul Python - Variabile

Python ca şi calculator

Aşa cum v-am spus, Python poate fi folosit ca şi calculator. Deschideţi Shellul (IDLE) şi calculaţi ceva, să zicem:
>>> 3 * 2 + 1
7
Regulile sunt ca la matematică. Puteţi folosi paranteze ca să alteraţi ordinea evaluării.
>>> 3 * (2 + 1)
9
Spaţiile albe nu sunt obligatorii. Eu le introduc pentru claritate.
Operatorii aritmetici sunt: +, -, / , *, % , //, **
Operatorul modulo % calculează restul împărţirii a două numere.
>>> 5 % 2
1
Operatorul împărţire întreagă // returnează partea întreagă a împărţirii a două numere.
>>> 9 // 2
4
>>> 9 // -2
-5
Operatorul / realizează împărţirea normală şi returnează un float.
>>> 5 / 2
2.5
Iar ultimul operator ** ridică la putere.
>>> 2 ** 3
8
>>> 4 ** (1/2) # Radical din 4
2.0
Comentariile în Python se introduc cu simbolul #. Comentariile sunt ignorate de interpretor, rolul lor este de a clarifica porţiuni de cod, deşi fiecare foloseşte comentariile cum vrea.
Python permite folosirea notaţiei ştiinţifice:
>>> 2e3 # 2 * 10**3
2000.0
>>> 4E-3 # 4 * 10**-3
0.004
>>> 1.23e9 # 1.23 * 10**9
1230000000.0
>>> 1e2 # 10**2
100.0
e sau E înseamnă, în notaţia ştiinţifică, 10 la puterea.
Variabila built-in _ (prezentă în modul interactiv) reţine ultima valoare calculată. Este utilă atunci când folosiţi Python pe post de calculator.
Nu atribuiţi nicio valoare acestei variabile deoarece veţi crea una nouă, locală, care o va masca pe cea originală şi nu veţi mai obţine efectele dorite (decât dacă restartaţi Shellul).
>>> 2 + 4
6
>>> 8 * _
48
>>> _
48
Ca să putem folosi funcţiile matematice (sin, cos, log, etc.) trebuie să importăm modulul (built-in) math folosind această instrucţiune import math.
Apoi puteţi folosi instrucţiunea help('math') ca să aflaţi mai multe informaţii despre acest modul.
>>> import math
>>> math.sin(math.pi/2)  # Argumentul trebuie sa fie in radiani
1.0
>>> math.log(math.e)  # Logaritm natural (in baza e)
1.0
>>> math.hypot(3, 5)  # Calculeaza ipotenuza conform Teoremei lui Pitagora
5.8309518948453
Observaţi că trebuie să scrieţi de fiecare dată numele modului atunci când folosiţi obiecte definite în acesta. Dacă vă este lene staţi liniştiţi deoarece există o soluţie.
Puteţi folosi instrucţiunea from modul import nume unde modul este numele modului din care importaţi, iar nume este numele pe care-l importaţi.
Ca să importaţi toate numele dintr-un modul folosiţi from modul import *.
Nu recomand acest lucru deoarece pot apărea conflicte între numele din modulul respectiv şi numele din modulul vostru (să zicem că aveţi funcţia sin definită de voi şi funcţia sin definită în math. Conflict!).
Există o soluţie şi pentru această problemă: Alias-urile.
>>> from math import sin as sn
>>> from math import pi as PI
>>> sn(PI/2)
1.0
Python caută modulele în toate folderele ce apar în sys.path. Ca să vedeţi conţinutul sys.path, importaţi modulul sys.
>>> import sys
>>> sys.path
['', 'C:\\Python33\\Lib\\idlelib', 'C:\\Windows\\system32\\python33.zip', 'C:\\Python33\\DLLs', 'C:\\Python33\\lib', 'C:\\Python33', 'C:\\Python33\\lib\\site-packages']
Python este case-sensitive. Literele mari diferă de cele mici.

Variabile

Variabilele în Python sunt simplu de definit. Trebuie doar să atribuiţi o valoare unui nume.
>>> pret = 300
>>> pret
300
Nu puteţi folosi un nume (variabilă) înainte de a-l defini. Acest lucru va genera eroarea NameError.
>>> a
Traceback (most recent call last):
  File "<pyshell#16>", line 1, in 
    a
NameError: name 'a' is not defined
Variabilele pot fi formate din cifre, litere, underscore. Nu pot începe cu cifre.
Puteţi atribui simultan o valoare mai multor variabile.
>>> a = b = c = 4
>>> b
4
Puteţi atribui valoarea unei expresii.
>>> x = 4 + 7 * 3
>>> x
25
Şi puteţi folosi variabilele în expresii, împreună cu funcţii şi alte obiecte.
Python determină tipul de dată al variabilei pe baza informaţiei memorată în acea variabilă şi reţine intern tipul de dată al fiecărei variabile.
Puteţi iniţializa mai multe variabile pe acelaşi rând folosind sintaxa:
>>> a, b, c = 7, 2, 4
>>> b
2
>>> a
7
>>> c
4
Dacă vreţi să atribuiţi o progresie de numere unor variabile puteţi folosi funcţia range.
>>> a, b, c, d = range(4)
>>> a
0
>>> b
1
>>> c
2
>>> d
3
Puteţi distruge o variabilă folosind operatorul del:
>>> del a # Obs: Nu puteti sterge o variabila nedefinita
>>> a
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    a
NameError: name 'a' is not defined

Niciun comentariu:

Trimiteți un comentariu

Rețineți: Numai membrii acestui blog pot posta comentarii.