日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:Python模塊導(dǎo)入的相關(guān)介紹

淺談python模塊的導(dǎo)入操作

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站建設(shè)、平?jīng)鼍W(wǎng)絡(luò)推廣、微信小程序、平?jīng)鼍W(wǎng)絡(luò)營銷、平?jīng)銎髽I(yè)策劃、平?jīng)銎放乒P(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供平?jīng)鼋ㄕ?/a>搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

1.什么是模塊

在Python中有一個(gè)概念叫做模塊(module)。所謂模塊,就是將代碼量較大的程序分割成多個(gè)有組織的,彼此獨(dú)立但雙能互相交互的代碼片段,這些自我包含的有組織的代碼段就是模塊。

2.模塊的特點(diǎn)

python中的模塊有以下特點(diǎn):

(1)python中,一切皆對(duì)象,模塊也是對(duì)象

(2)模塊在物理形式上表現(xiàn)為以.py結(jié)尾的代碼文件。

(3)一個(gè)模塊也可以被看作是一個(gè)文件,一個(gè)文件也可以被當(dāng)作一個(gè)獨(dú)立的模塊被別的程序?qū)胝{(diào)用。

(4)模塊的文件名就是模塊的名字加上擴(kuò)展名.py

(5)每個(gè)模塊都有自己的名稱空間

python允許"導(dǎo)入"其它的模塊以實(shí)現(xiàn)代碼重用,從而也實(shí)現(xiàn)了將獨(dú)立的代碼文件組織成更大的程序系統(tǒng)的作用。一個(gè)模塊在被導(dǎo)入后,在一個(gè)模塊的頂層定義的所有變量都在被導(dǎo)入時(shí)成為了被導(dǎo)入模塊的屬性。

python中的每一個(gè)模塊就是一個(gè)名稱空。一個(gè)模塊的名稱空間可以通過dict或dir(M)獲取,模塊屬性可以通過點(diǎn)號(hào)(.)運(yùn)算符獲取,格式為M.attr,并且每個(gè)模塊都是一個(gè)獨(dú)立的作用域(本地變量就是全局變量)。

3.python程序的組成

一個(gè)python程序通常包括一個(gè)頂層程序文件和其它的模塊文件:

頂層文件:包含了程序的主要控制流程。

模塊文件:為頂層文件或其它模塊提供各種功能性組件。

模塊首次導(dǎo)入(或重載)時(shí),python會(huì)立即執(zhí)行模塊文件的頂層程序代碼(也即不在函數(shù)內(nèi)的代碼),而位于函數(shù)主體內(nèi)的直到函數(shù)被調(diào)用后才會(huì)執(zhí)行。

4.模塊的執(zhí)行環(huán)境

模塊是被導(dǎo)入的,但模塊內(nèi)部也可以導(dǎo)入和使用其它模塊,這些模塊可以用python或其它編程語言寫成。

模塊可內(nèi)含變量,函數(shù)以及類來進(jìn)行工作,而函數(shù)和類可以包含變量和其它元素。

5.模塊的導(dǎo)入

在導(dǎo)入模塊時(shí)只能使用模塊名,而不能使用帶.py后綴的模塊文件名。

相關(guān)推薦:《Python視頻教程》

在python解釋器下,輸入:

   help("modules")

命令可以列出系統(tǒng)上已經(jīng)安裝的所有的模塊

>>> help("modules")
Please wait a moment while I gather a list of all available modules...
CDROM               atexit              importlib           select
DLFCN               attr                incremental         selectors
IN                  audioop             inspect             setuptools
IPython             automat             io                  shelve
TYPES               autoreload          ipaddress           shlex
__future__          base64              ipython_genutils    shutil
_ast                bdb                 itertools           signal
_bisect             binascii            jedi                simplegeneric
_bootlocale         binhex              json                site
_bz2                bisect              keyword             six
_codecs             builtins            lib2to3             smtpd
_codecs_cn          bz2                 linecache           smtplib
_codecs_hk          cProfile            locale              sndhdr
_codecs_iso2022     calendar            logging             socket
_codecs_jp          cgi                 lzma                socketserver
_codecs_kr          cgitb               macpath             spwd
_codecs_tw          chunk               macurl2path         sqlite3
_collections        class               mailbox             sre_compile
_collections_abc    cmath               mailcap             sre_constants
_compat_pickle      cmd                 marshal             sre_parse
_compression        code                math                ssl
_crypt              codecs              mimetypes           stat
_csv                codeop              mmap                statistics
_ctypes             collections         modulefinder        storemagic
_curses             colorsys            multiprocessing     string
_curses_panel       compileall          netrc               stringprep
_datetime           concurrent          nis                 struct
_dbm                configparser        nntplib             subprocess
_decimal            constantly          ntpath              sunau
_dummy_thread       contextlib          nturl2path          symbol
_elementtree        copy                numbers             sympyprinting
_functools          copyreg             numpy               symtable
_gdbm               crypt               opcode              sys
_hashlib            csv                 operator            sysconfig
_heapq              ctypes              optparse            syslog
_imp                curses              os                  tabnanny
_io                 cythonmagic         ossaudiodev         tarfile
_json               datetime            packaging           telnetlib
_locale             dbm                 parser              tempfile
_lsprof             decimal             pathlib             termios
_lzma               decorator           pdb                 test
_markupbase         difflib             pexpect             tests
_multibytecodec     dis                 pickle              textwrap
_multiprocessing    distutils           pickleshare         this
_opcode             django              pickletools         threading
_operator           doctest             pip                 time
_osx_support        dummy_threading     pipes               timeit
_pickle             easy_install        pkg_resources       token
_posixsubprocess    else_exp            pkgutil             tokenize
_pydecimal          email               platform            tornado
_pyio               encodings           plistlib            trace
_random             ensurepip           poplib              traceback
_signal             enum                posix               tracemalloc
_sitebuiltins       errno               posixpath           traitlets
_socket             exampleproj         pprint              tty
_sqlite3            faulthandler        profile             twisted
_sre                fcntl               prompt_toolkit      types
_ssl                filecmp             pstats              typing
_stat               fileinput           psutil              unicodedata
_string             fnmatch             pty                 unittest
_strptime           formatter           ptyprocess          urllib
_struct             fractions           pwd                 uu
_symtable           ftplib              py_compile          uuid
_sysconfigdata      functools           pyclbr              venv
_testmultiphase     gc                  pydoc               virtualenv
_thread             genericpath         pydoc_data          virtualenv_support
_threading_local    getopt              pyexpat             warnings
_tracemalloc        getpass             pygments            wave
_warnings           gettext             pyparsing           wcwidth
_weakref            glob                pytz                weakref
_weakrefset         grp                 queue               webbrowser
abc                 gzip                quopri              wsgiref
aifc                hashlib             random              xdrlib
antigravity         heapq               re                  xml
appdirs             hmac                readline            xmlrpc
argparse            html                reprlib             xxlimited
array               http                resource            xxsubtype
ast                 idlelib             rlcompleter         zipapp
asynchat            imaplib             rmagic              zipfile
asyncio             imghdr              runpy               zipimport
asyncore            imp                 sched               zlib

使用import語句可以導(dǎo)入一個(gè)或多個(gè)指定的模塊,但是建議一個(gè)import語句只導(dǎo)入一個(gè)模塊

語法:

import module1[,module2[,....moduleN]]

如果被導(dǎo)入的模塊名字太長時(shí),可以為被導(dǎo)入的模塊設(shè)定一個(gè)別名,但是要注意所起的別名不要與系統(tǒng)或者是自己設(shè)定的變量重名

語法:

import module as module_alias

使用from-import語句只導(dǎo)入指定模塊的部分屬性至當(dāng)前名稱空間

語法:

from module import name1[,name2[,....nameN]]

import語句和from-import語句的不同點(diǎn):

1.import和from-import都是賦值語句,

import和from是可執(zhí)行語句,類似于def,因此可以嵌套在if測(cè)試中,出現(xiàn)于def中等等,python執(zhí)行到這些語句時(shí)才會(huì)對(duì)其進(jìn)行解析,這樣所有來自模塊的屬性僅在import語句執(zhí)行后才能使用

2.import和from都是隱性賦值語句

import將整個(gè)模塊對(duì)象賦值給一個(gè)變量名

from將一個(gè)或多個(gè)變量名賦值給導(dǎo)入此模塊的模塊中的同名對(duì)象

6.import的工作機(jī)制

import語句導(dǎo)入指定的模塊時(shí)會(huì)執(zhí)行三個(gè)步驟:

1.在指定路徑下搜索模塊文件,找到模塊文件。

2.指定的模塊在被導(dǎo)入時(shí)就會(huì)被編譯成字節(jié)碼,即編譯成.pyc文件。

3.依靠模塊的代碼中的定義來創(chuàng)建其所定義的對(duì)象,模塊文件中的所的語句會(huì)依次執(zhí)行,從頭至尾,而此步驟中任何對(duì)變量名的賦值運(yùn)算,都會(huì)產(chǎn)生所得到的模塊文件的屬性。

但是請(qǐng)注意:模塊只在第一次導(dǎo)入時(shí)才會(huì)執(zhí)行如上步驟,后續(xù)的導(dǎo)入操作只不過是提取內(nèi)存中已加載的模塊對(duì)象可以使用reload()命令重新加載指定的模塊。

7.模塊搜索

python解釋器在import模塊時(shí)查找模塊的順序:

1.程序的主目錄,

2.python的PATH目錄(如果設(shè)置了此變量)

可以使用以下命令查看python的PATH目錄:   

  >>> import sys
        >>> sys.path

3.標(biāo)準(zhǔn)鏈接庫目錄,就是python安裝目錄下的lib文件夾這個(gè)目錄

4.任何.pth文件的內(nèi)容(如果存在.pth文件)

這四個(gè)組件組合起來即為sys.path所包含的路徑,而python會(huì)選擇在搜索路徑中的第一個(gè)符合導(dǎo)入文件名的文件。


文章題目:創(chuàng)新互聯(lián)Python教程:Python模塊導(dǎo)入的相關(guān)介紹
標(biāo)題URL:
http://www.5511xx.com/article/cojjjic.html