python简单介绍如何导入与使用模块,Python导入模块的三种方法
浅谈python模块的导入操作
1.什么是模块
Python中有个概念叫模块。所谓模块,就是把一个代码量很大的程序分成若干个有组织的、独立但又相互作用的代码段。这些自包含的有组织的代码段是模块。
2.模块的特点
python中的模块具有以下特征:
(1)在1)python中,一切都是对象,模块也是对象。
(2)模块在物理上表示为以。py。
(3)一个模块也可以看作一个文件,一个文件也可以看作一个独立的模块被其他程序导入和调用。
(4)模块的文件名是模块名加上扩展名。巴拉圭
(5)每个模块都有自己的命名空间。
Python允许‘导入’其他模块实现代码重用,从而实现将独立的代码文件组织成更大的程序系统的功能。导入模块后,模块顶层定义的所有变量在导入时都成为导入模块的属性。
python中的每个模块都是一个空名称。模块的命名空间可以通过dict或者dir(M)获得,模块的属性可以通过点号(。)运算符。格式是M.attr,每个模块都是一个独立的作用域(局部变量就是全局变量)。
3.python程序的组成
python程序通常包括顶级程序文件和其他模块文件:
顶层文件:包含程序的主要控制流。
模块:为顶层文件或其他模块提供各种功能组件。
当一个模块第一次被导入(或重载)时,python会立即执行模块文件的顶层程序代码(即不在函数中的代码),而在函数体中的代码直到函数被调用后才会执行。
4.模块的执行环境
该模块被导入,但是其他模块也可以被导入并在模块内部使用。这些模块可以用python或其他编程语言编写。
模块可以包含变量、函数和类来工作,而函数和类可以包含变量和其他元素。
5.模块的导入
导入模块时,只能使用模块名,而不能使用模块文件名。py后缀。
相关:《Python视频教程》
在python解释器下,输入:
help(modules )命令可以列出系统上安装的所有模块。
帮助(“模块”)
PleasewaitamomentwhileIgatheralistofallavailablemodules.
CDROMatexitimportlibselect
DLFCNattrincrementalselectors
创新
;inspectsetuptools
IPythonautomatioshelve
TYPESautoreloadipaddressshlex
__future__base64ipython_genutilsshutil
_astbdbitertoolssignal
_bisectbinasciijedisimplegeneric
_bootlocalebinhexjsonsite
_bz2bisectkeywordsix
_codecsbuiltinslib2to3smtpd
_codecs_cnbz2linecachesmtplib
_codecs_hkcProfilelocalesndhdr
_codecs_iso2022calendarloggingsocket
_codecs_jpcgilzmasocketserver
_codecs_krcgitbmacpathspwd
_codecs_twchunkmacurl2pathsqlite3
_collectionsclassmailboxsre_compile
_collections_abccmathmailcapsre_constants
_compat_picklecmdmarshalsre_parse
_compressioncodemathssl
_cryptcodecsmimetypesstat
_csvcodeopmmapstatistics
_ctypescollectionsmodulefinderstoremagic
_cursescolorsysmultiprocessingstring
_curses_panelcompileallnetrcstringprep
_datetimeconcurrentnisstruct
_dbmconfigparsernntplibsubprocess
_decimalconstantlyntpathsunau
_dummy_threadcontextlibnturl2pathsymbol
_elementtreecopynumberssympyprinting
_functoolscopyregnumpysymtable
_gdbmcryptopcodesys
_hashlibcsvoperatorsysconfig
_heapqctypesoptparsesyslog
_impcursesostabnanny
_iocythonmagicossaudiodevtarfile
_jsondatetimepackagingtelnetlib
_localedbmparsertempfile
_lsprofdecimalpathlibtermios
_lzmadecoratorpdbtest
_markupbasedifflibpexpecttests
_multibytecodecdispickletextwrap
_multiprocessingdistutilspicklesharethis
_opcodedjangopickletoolsthreading
_operatordoctestpiptime
_osx_supportdummy_threadingpipestimeit
_pickleeasy_installpkg_resourcestoken
_posixsubprocesselse_exppkgutiltokenize
_pydecimalemailplatformtornado
_pyioencodingsplistlibtrace
_randomensurepippoplibtraceback
_signalenumposixtracemalloc
_sitebuiltinserrnoposixpathtraitlets
_socketexampleprojpprinttty
_sqlite3faulthandlerprofiletwisted
_srefcntlprompt_toolkittypes
_sslfilecmppstatstyping
_statfileinputpsutilunicodedata
_stringfnmatchptyunittest
_strptimeformatterptyprocessurllib
_structfractionspwduu
_symtableftplibpy_compileuuid
_sysconfigdatafunctoolspyclbrvenv
_testmultiphasegcpydocvirtualenv
_threadgenericpathpydoc_datavirtualenv_support
_threading_localgetoptpyexpatwarnings
_tracemallocgetpasspygmentswave
_warningsgettextpyparsingwcwidth
_weakrefglobpytzweakref
_weakrefsetgrpqueuewebbrowser
abcgzipquopriwsgiref
aifchashlibrandomxdrlib
antigravityheapqrexml
appdirshmacreadlinexmlrpc
argparsehtmlreprlibxxlimited
arrayhttpresourcexxsubtype
astidlelibrlcompleterzipapp
asynchatimaplibrmagiczipfile
asyncioimghdrrunpyzipimport
asyncoreimpschedzlib使用import语句可以导入一个或多个指定的模块,但是建议一个import语句只导入一个模块
语法:
importmodule1[,module2[,....moduleN]]如果被导入的模块名字太长时,可以为被导入的模块设定一个别名,但是要注意所起的别名不要与系统或者是自己设定的变量重名
语法:
importmoduleasmodule_alias使用from-import语句只导入指定模块的部分属性至当前名称空间
语法:
frommoduleimportname1[,name2[,....nameN]]import语句和from-import语句的不同点:
1.import和from-import都是赋值语句,
import和from是可执行语句,类似于def,因此可以嵌套在if测试中,出现于def中等等,python执行到这些语句时才会对其进行解析,这样所有来自模块的属性仅在import语句执行后才能使用
2.import和from都是隐性赋值语句
import将整个模块对象赋值给一个变量名
from将一个或多个变量名赋值给导入此模块的模块中的同名对象
6.import的工作机制
import语句导入指定的模块时会执行三个步骤:
1.在指定路径下搜索模块文件,找到模块文件。
2.指定的模块在被导入时就会被编译成字节码,即编译成.pyc文件。
3.依靠模块的代码中的定义来创建其所定义的对象,模块文件中的所的语句会依次执行,从头至尾,而此步骤中任何对变量名的赋值运算,都会产生所得到的模块文件的属性。
但是请注意:模块只在第一次导入时才会执行如上步骤,后续的导入操作只不过是提取内存中已加载的模块对象可以使用reload()命令重新加载指定的模块。
7.模块搜索
python解释器在import模块时查找模块的顺序:
1.程序的主目录,
2.python的PATH目录(如果设置了此变量)
可以使用以下命令查看python的PATH目录:
>>>importsys3.标准链接库目录,就是python安装目录下的lib文件夹这个目录>>>sys.path
4.任何.pth文件的内容(如果存在.pth文件)
这四个组件组合起来即为sys.path所包含的路径,而python会选择在搜索路径中的第一个符合导入文件名的文件。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。