28.01.2015 Views

Tutorial Python - Starship

Tutorial Python - Starship

Tutorial Python - Starship

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPITOLUL<br />

ŞASE<br />

Module<br />

Dacă ieşiţi din interpretorul <strong>Python</strong> şi intraţi din nou, definiţiile pe care le-aţi făcut (funcţii, varibile, etc.) se<br />

pierd. Dacă aveţi de gând să scrieţi un program mai lung, ar fi mai bine să folosiţi un editor de texte pentru a<br />

scrie programul într-un fişier, şi apoi să rulaţi interpretorul <strong>Python</strong> cu parametru fişierul în care se află programul.<br />

Fişierul în care se află programul se numeşte script. Pe măsură ce programul se va mări veţi simţi nevoia să îl<br />

împărţiţi în mai multe fişiere. S-ar putea la fel de bine să doriţi să folosiţi o funcţie în mai multe programe fără a<br />

fi nevoit să copiaţi definiţia funcţiei în fiecare program.<br />

În <strong>Python</strong> puteţi scrie anumite definiţii într-un fişier, pe care apoi îl puteţi include în alte programe. Un astfel<br />

de fişier se numeşte modul. Definiţiile dintr-un modul pot fi importate în alte module, sau în modulul principal<br />

(programul iniţial). Un modul este un fişier care conţine definiţii şi instrucţiuni <strong>Python</strong>. Numele fişierului în<br />

care se află un anumit modul este dat de numele modulului şi extensia ”.py” la sfârşit. Într-un modul, numele<br />

acestuia este accesibil prin intermediul variabilei globale __name__. Folosiţi acum editorul dumneavoastră de<br />

texte preferat pentru a creea fişierul ”fibo.py”:<br />

# modul cu numerele lui Fibonacci<br />

def fib(n): # scrie sirul lui Fibonacci pana la n<br />

a, b = 0, 1<br />

while b < n:<br />

print b,<br />

a, b = b, a+b<br />

def fib2(n): # intoarce sirul lui Fibonacci pana la n<br />

result = []<br />

a, b = 0, 1<br />

while b < n:<br />

result.append(b)<br />

a, b = b, a+b<br />

return result<br />

Acum deschideţi interpretorul <strong>Python</strong> şi tastaţi comanda:<br />

>>> import fibo<br />

Această instrucţiune nu încarcă în tabela de simboluri numele funcţiilor definite în modulul fibo, ci numai numele<br />

modulului. Folosind numele modulului puteţi accesa funcţiile definite în interiorul acestuia:<br />

>>> fibo.fib(1000)<br />

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987<br />

>>> fibo.fib2(100)<br />

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]<br />

>>> fibo.__name__<br />

’fibo’<br />

În cazul în care vă deranjează aceste nume lungi puteţi proceda în felul următor:<br />

37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!