当前位置: 首页 > 图灵资讯 > 行业资讯> Python模块导入的相关介绍

Python模块导入的相关介绍

发布时间:2025-10-24 16:05:53

Python模块的导入操作

1.模块是什么?

Python中有一个概念叫模块(module)。所谓模块,就是把代码量大的程序分成多个有组织的、独立的、双能的、互动的代码片段。这些自我包含的有组织的代码段是模块。

2.模块的特性

python中的模块具有以下特点:

(1)python中的一切都是对象,模块也是对象

(2)模块在物理形式上的表现.py结尾的代码文件。

(3)一个模块也可以看作是一个文件,一个文件也可以看作是一个独立的模块,并被其他程序引入和调用。

(4)模块的文件名是模块名和扩展名.py

(5)每个模块都有自己的名称空间

允许python"导入"其他模块可以重用代码,从而将独立的代码文件组织成更大的程序系统。导入模块后,模块顶部定义的所有变量都成为导入模块的属性。

python中的每个模块都是一个空名称。一个模块的名称空间可以通过dict或dirr来实现(M)通过点号获得模块属性(.)获取运算符的格式为M.attr,而且每个模块都是一个独立的作用域(本地变量是全局变量)。

3.python程序的构成

一个python程序通常包含一个顶层程序文件和其它模块文件:

顶层文件:包括程序的主要控制过程。

模块文件:为顶层文件或其他模块提供各种功能组件。

当模块首次导入(或重载)时,python将立即执行模块文件的顶层程序代码(即不在函数中的代码),而位于函数主体中的代码将在函数被调用之前执行。

4.模块执行环境

导入模块,但也可以导入和使用其他模块,可以用python或其他编程语言编写。

模块可以包含变量、函数和类来工作,而函数和类可以包含变量和其他元素。

5.导入模块

导入模块时只能使用模块名,而不能使用带.模块文件名py后缀。

相关推荐:Python视频教程

在python解释器下输入:

help("modules")

所有已安装在系统上的模块都可以列出命令

>>>help("modules")
PleasewaitamomentwhileIgatheralistofallavailablemodules...
CDROMatexitimportlibselect
DLFCNattrincrementalselectors
INaudioopinspectsetuptools
IPythonautomatioshelve
TYPESautoreloadipaddressshlex
__future_base64ipython_genutilsshutil
_astbdbitertoolssignal
_bisectbinasciijedisimplegeneric
_bootlocalebinhexjsonsite
_bz2bisectkeywordsix
_codecsbuiltinslibto3smtpd
_codecs_cnbz2linecachesmtplib
_codecs_hkcProfilelocalesndhdr
_codecs_iso202calendarlogingsocketing
_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语句可以导入一个或多个指定的模块,但建议只导入一个模块

语法:

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.模块搜索

import模块中python解释器搜索模块的顺序:

1.程序主目录,

2.PythonPATH目录(如果设置此变量)

PythonPATH目录可使用以下命令查看:

>>>importsys
>>>sys.path

3.标准链接库目录是python安装目录下的lib文件夹

4.任何.如果存在pth文件的内容(.pth文件)

这四个组件的组合是sys.path包含的路径,python将选择搜索路径中第一个符合导入文件名的文件。

相关文章

Python模块导入的相关介绍

Python模块导入的相关介绍

2025-10-24
Python如何生成随机图形验证码

Python如何生成随机图形验证码

2025-10-24
Python之初识闭包函数

Python之初识闭包函数

2025-10-24
Python如何将图片转换成字符

Python如何将图片转换成字符

2025-10-24
python如何通过日志分析加入黑名单

python如何通过日志分析加入黑名单

2025-10-23
Python之classmethod和staticmethod的区别

Python之classmethod和staticmethod的区别

2025-10-23