python模块

来源:互联网 发布:软件测试必备工具 编辑:程序博客网 时间:2024/06/06 16:30

模块在物理上表现为以.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      setsBaseHTTPServer      argparse            htmllib             setuptoolsBastion             array               httplib             sgmllibCDROM               ast                 ihooks              shaCGIHTTPServer       asynchat            imaplib             shelveCanvas              asyncore            imghdr              shlexConfigParser        atexit              imp                 shutilCookie              audiodev            importlib           signalDLFCN               audioop             imputil             simplegenericDialog              autoreload          inspect             siteDocXMLRPCServer     axi                 io                  sitecustomizeFSM                 base64              itertools           sixFileDialog          bdb                 json                smtpdFixTk               binascii            keyword             smtplibHTMLParser          binhex              lib2to3             sndhdrIN                  bisect              linecache           socketIPython             bs4                 linuxaudiodev       spwdMimeWriter          bsddb               locale              sqlite3MySQLdb             bz2                 logging             sreQueue               cPickle             lsb_release         sre_compileScrolledText        cProfile            macpath             sre_constantsSimpleDialog        cStringIO           macurl2path         sre_parseSimpleHTTPServer    calendar            mailbox             sslSimpleXMLRPCServer  cgi                 mailcap             statSocketServer        cgitb               markupbase          statvfsStringIO            chardet             marshal             storemagicTYPES               chunk               math                stringTix                 cmath               md5                 stringoldTkconstants         cmd                 mhlib               stringprepTkdnd               code                mimetools           stropTkinter             codecs              mimetypes           structUserDict            codeop              mimify              subprocessUserList            collections         mmap                sunauUserString          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         xmllibabc                 grp                 rmagic              xmlrpclibaifc                gzip                robotparser         xxsubtypeantigravity         hashlib             runpy               yocto_cssanydbm              heapq               sched               zipfileapt                 hmac                scour               zipimportapt_inst            hotshot             screen              zlibapt_pkg             html5lib            select    
0 0
原创粉丝点击