1 / 15

Python’s Modules

Python’s Modules. b y E. Esin GOKGOZ. What is a module?. a file containing Python definitions and statements definitions from a module can be imported into other modules or into the main module The file name is the module name with the suffix .py appended.

suchin
Download Presentation

Python’s Modules

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Python’s Modules by E. Esin GOKGOZ

  2. What is a module? • a file containing Python definitions and statements • definitions from a module can be imported into other modules or into the main module • The file name is the module name with the suffix .py appended

  3. Module’s Cont’d…# Fibonacci numbers module deffib(n): # write Fibonacci series up to n a, b = 0, 1 while b < n: print b, a, b = b, a+bdeffib2(n): # return Fibonacci series up to n result = [] a, b = 0, 1 while b < n:result.append(b) a, b = b, a+breturn result

  4. Module’s cont’d…>>>importfibo>>> fibo.fib(1000) 1 1 2 3 5 8 13 21 34 55 89 144 233 >>> fibo.fib2(100) [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] >>> fibo.__name__ 'fibo' >>> fib = fibo.fib >>> fib(500) 1 1 2 3 5 8 13 21 34 55 89 144 233 377

  5. Module’s Cont’d… • Modules can import other modules >>> fromfiboimport fib, fib2 >>> fib(500) 1 1 2 3 5 8 13 21 34 55 89 144 233 377 >>>fromfiboimport * >>> fib(500) 1 1 2 3 5 8 13 21 34 55 89 144 233 377

  6. The Module Search Path • When a module named spam is imported, the interpreter searches for a file named spam.py in the current directory, and then in the list of directories specified by the environment variable PYTHONPATH • When PYTHONPATH is not set, or when the file is not found there, the search continues in an installation-dependent default path; on Unix, this is usually .:/usr/local/lib/python

  7. “Compiled” Python files • if a file called spam.pyc exists in the directory where spam.py is found, this is assumed to contain an already-“byte-compiled” version of the module spam.

  8. “Compiled” Python files cont’d • When the Python interpreter is invoked with the -O flag, optimized code is generated and stored in .pyo files. • A program doesn’t run any faster when it is read from a .pyc or .pyo file than when it is read from a .py file; the only thing that’s faster about .pyc or .pyo files is the speed with which they are loaded • The module compileall can create .pyc files for all modules in a directory.

  9. The dir() Function • Without arguments, dir() lists the names you have defined currently: >>> a = [1, 2, 3, 4, 5] >>> importfibo >>> fib = fibo.fib >>>dir() ['__builtins__', '__doc__', '__file__', '__name__', 'a', 'fib', 'fibo', 'sys']

  10. The dir() Function cont’d… • standard module__builtin__: >>> import __builtin__ >>> dir(__builtin__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FloatingPointError', 'FutureWarning', 'IOError', 'ImportError', 'IndentationError', 'IndexError',…]

  11. Packages • Packages are a way of structuring Python’s module namespace by using “dotted module names”. e.g. the module name A.B designates a submodule named B in a package named A

  12. Sound / Top-level package __init__.py Initialize the sound package formats/ Subpackage for file format conversions __init__.py wavread.py wavwrite.py aiffread.py aiffwrite.py auread.py ... effects/ Subpackage for sound effects __init__.py echo.py surround.py reverse.py ... filters/ Subpackage for filters __init__.py equalizer.py vocoder.py ...

  13. Packages cont’d… • importsound.effects.echo sound.effects.echo.echofilter(input, output, delay=0.7, atten=4) • fromsound.effects import echo echo.echofilter(input, output, delay=0.7, atten=4) • fromsound.effects.echoimportechofilter

  14. Importing * From a Package • from sound.effects import * !!! must have __all__ __all__ = ["echo", "surround", "reverse"]

  15. Q U E S T I O N S ? ? ? ? ? ? ? ? ? ?

More Related