python模块

模块在物理上表现为以.py结尾的代码文件
一个文件别看做一个独立的模块,一个模块也可以被看做是一个文件
模块的文件名就是模块的名字加上扩展名.py
每个模块都有自己的名字空间
python允许导入其他模块以实现代码重用,从而实现了将独立的代码文件组织成更大的程序系统
python中,模块也是对象
在一个模块的顶层定义的所有变量都在被导入时成为了被导入模块的属性
一个python程序通常包括一个顶层文件和其他的模块文件
顶层文件:包含了程序的主要控制流
模块文件:为顶层文件或其他模块提供各种功能性组件
模块首次导入时(或重载),python会立即执行模块文件的顶层程序代码(不在函数体内)

导入模块:
import module1[,module2…..]
导入指定模块的部分属性
from module import name1[,name2….]

import 和from import 是可执行语句,类似于def,因此可以嵌套在if测试中,出现在def中
import 和from import 都是隐性赋值语句
import将整个模块对象赋值给一个变量名
from将一个或多个变量名赋值给导入此模块的模块中的同名对象
模块就是名称空间
模块的名称空间可以通过属性
列出所有模块

import导入指定的模块时会执行三个步骤:
找到模块文件,程序的主目录,pythonpath目录,标准链接库目录,任何.pth文件的内容
编译成字节码
执行模块的代码来创建所定义的对象

模块只有在第一次导入时才会执行
reload()用于重新加载模块

In [1]: help('modules')

Please wait a moment while I gather a list of all available modules...

ANSI                aptsources          htmlentitydefs      sets
BaseHTTPServer      argparse            htmllib             setuptools
Bastion             array               httplib             sgmllib
CDROM               ast                 ihooks              sha
CGIHTTPServer       asynchat            imaplib             shelve
Canvas              asyncore            imghdr              shlex
ConfigParser        atexit              imp                 shutil
Cookie              audiodev            importlib           signal
DLFCN               audioop             imputil             simplegeneric
Dialog              autoreload          inspect             site
DocXMLRPCServer     axi                 io                  sitecustomize
FSM                 base64              itertools           six
FileDialog          bdb                 json                smtpd
FixTk               binascii            keyword             smtplib
HTMLParser          binhex              lib2to3             sndhdr
IN                  bisect              linecache           socket
IPython             bs4                 linuxaudiodev       spwd
MimeWriter          bsddb               locale              sqlite3
MySQLdb             bz2                 logging             sre
Queue               cPickle             lsb_release         sre_compile
ScrolledText        cProfile            macpath             sre_constants
SimpleDialog        cStringIO           macurl2path         sre_parse
SimpleHTTPServer    calendar            mailbox             ssl
SimpleXMLRPCServer  cgi                 mailcap             stat
SocketServer        cgitb               markupbase          statvfs
StringIO            chardet             marshal             storemagic
TYPES               chunk               math                string
Tix                 cmath               md5                 stringold
Tkconstants         cmd                 mhlib               stringprep
Tkdnd               code                mimetools           strop
Tkinter             codecs              mimetypes           struct
UserDict            codeop              mimify              subprocess
UserList            collections         mmap                sunau
UserString          colorama            modulefinder        sunaudio
_LWPCookieJar       colorsys            multifile           svg_regex
_MozillaCookieJar   command             multiprocessing     svg_transform
__builtin__         commands            mutex               symbol
__future__          compileall          netrc               sympyprinting
_abcoll             compiler            new                 symtable
_ast                contextlib          nis                 sys
_bisect             contrib             nntplib             sysconfig
_bsddb              cookielib           ntpath              syslog
_codecs             copy                nturl2path          tabnanny
_codecs_cn          copy_reg            numbers             tarfile
_codecs_hk          crypt               octavemagic         telnetlib
_codecs_iso2022     csv                 opcode              tempfile
_codecs_jp          ctypes              operator            termios
_codecs_kr          curses              optparse            test
_codecs_tw          cythonmagic         os                  tests
_collections        datetime            os2emxpath          textwrap
_csv                dbhash              ossaudiodev         this
_ctypes             dbm                 packages            thread
_ctypes_test        deb822              parallelmagic       threading
_curses             debconf             parser              time
_curses_panel       debian              pdb                 timeit
_elementtree        debian_bundle       pexpect             tkColorChooser
_functools          decimal             pickle              tkCommonDialog
_hashlib            decorator           pickletools         tkFileDialog
_heapq              difflib             pip                 tkFont
_hotshot            dircache            pipes               tkMessageBox
_io                 dis                 pkg_resources       tkSimpleDialog
_json               distlib             pkgutil             toaiff
_locale             distutils           platform            token
_lsprof             doctest             plistlib            tokenize
_markerlib          dumbdbm             popen2              trace
_md5                dummy_thread        poplib              traceback
_multibytecodec     dummy_threading     posix               ttk
_multiprocessing    easy_install        posixfile           tty
_mysql              email               posixpath           turtle
_mysql_exceptions   encodings           pprint              types
_osx_support        errno               profile             unicodedata
_pyio               exceptions          pstats              unittest
_random             fcntl               pty                 urllib
_sha                fdpexpect           pwd                 urllib2
_sha256             filecmp             pxssh               urllib3
_sha512             fileinput           py_compile          urlparse
_socket             fnmatch             pyclbr              user
_sqlite3            formatter           pydoc               uu
_sre                fpectl              pydoc_data          uuid
_ssl                fpformat            pyexpat             warnings
_strptime           fractions           quopri              wave
_struct             ftplib              random              weakref
_symtable           functools           re                  webbrowser
_sysconfigdata      future_builtins     readline            wheel
_sysconfigdata_nd   gc                  repr                whichdb
_testcapi           genericpath         requests            wsgiref
_threading_local    getopt              resource            xapian
_warnings           getpass             rexec               xdrlib
_weakref            gettext             rfc822              xml
_weakrefset         glob                rlcompleter         xmllib
abc                 grp                 rmagic              xmlrpclib
aifc                gzip                robotparser         xxsubtype
antigravity         hashlib             runpy               yocto_css
anydbm              heapq               sched               zipfile
apt                 hmac                scour               zipimport
apt_inst            hotshot             screen              zlib
apt_pkg             html5lib            select    

你可能感兴趣的:(#,python)