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.

Sound/<br />

__init__.py<br />

Formats/<br />

__init__.py<br />

wavread.py<br />

wavwrite.py<br />

aiffread.py<br />

aiffwrite.py<br />

auread.py<br />

auwrite.py<br />

...<br />

Effects/<br />

__init__.py<br />

echo.py<br />

surround.py<br />

reverse.py<br />

...<br />

Filters/<br />

__init__.py<br />

equalizer.py<br />

vocoder.py<br />

karaoke.py<br />

...<br />

Pachet "tata"<br />

Initializarea pachetului ’sound’<br />

Subpachet pentru conversii intre fisiere<br />

Subpachet pentru efecte acustice<br />

Subpachet pentru filtre<br />

Fişierele de tipul ‘__init__.py’ sunt necesare pentru a face <strong>Python</strong> să trateze directoarele ca pachete. Acestea<br />

sunt necesare pentru a preveni situaţia ca un director cu un nume comun, de exemplu string, să ascundă un<br />

modul valid cu acelaşi nume. În cel mai simplu caz ‘__init.py__’ poate fi un fişier gol, dar poate conţine şi cod de<br />

iniţializare.<br />

Utilizatorii unui pachet pot importa doar un anumit modul din cadrul pachetului:<br />

import Sound.Effects.echo<br />

Instrucţiunea de mai sus a încărcat submodulul Sound.Effects.echo. O funcţie conţinută de submodul<br />

trebuie aplelată folosindu-i numele întreg.<br />

Sound.Effects.echo.echofilter(input, output, delay=0.7, atten=4)<br />

O alternativă pentru a importa un modul este:<br />

from Sound.Effects import echo<br />

În acest moment numele definite în modul au fost încărcate în tabela locală de simboluri, deci numele de funcţii<br />

şi variabile sunt disponibile fără prefix:<br />

echo.echofilter(input, output, delay=0.7, atten=4)<br />

O altă variantă este încărcarea (importarea) directă a funcţiei sau variabilei dorite:<br />

from Sound.Effects.echo import echofilter<br />

Aici se încarcă, de asemenea, submodulul echo, dar fuctia echofilter() poate fi accesat direct :<br />

echofilter(input, output, delay=0.7, atten=4)<br />

42 Capitolul 6. Module

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

Saved successfully!

Ooh no, something went wrong!