Presentation is loading. Please wait.

Presentation is loading. Please wait.

Python’s Modules by E. Esin GOKGOZ.

Similar presentations


Presentation on theme: "Python’s Modules by E. Esin GOKGOZ."— 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 def fib(n):
Module’s Cont’d… # Fibonacci numbers module def fib(n): # write Fibonacci series up to n a, b = 0, 1 while b < n: print b, a, b = b, a+b def fib2(n): # return Fibonacci series up to n result = [] a, b = 0, 1 while b < n: result.append(b) a, b = b, a+b return result

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

5 Module’s Cont’d… Modules can import other modules
>>> from fibo import fib, fib2 >>> fib(500) >>> from fibo import *

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] >>> import fibo >>> 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__
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 echo.py surround.py reverse.py filters/ Subpackage for filters equalizer.py vocoder.py

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

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 ? ? ? ? ? ? ? ? ? ?


Download ppt "Python’s Modules by E. Esin GOKGOZ."

Similar presentations


Ads by Google