日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python模塊如何查看

瀏覽:185日期:2022-07-21 08:47:13

對于編譯型的語言,比如C#中的一個.cs文件,Java中的一個.java或者編譯后的.class文件可以認為是一個模塊(但常常不表述為模塊);對于解釋型的語言會更加直觀些,比如PHP的.php文件,在Python中就是.py文件可以認為是一個模塊。在“模塊”之上有“包”,主要是為了方便組織和管理模塊。比如C#中編譯后的.dll文件(但常常不表述為包Package,而是庫Library),Java將.class打包后的.jar文件,PHP的.phar文件(模仿Java包),在Python中一個特殊定義的文件夾是一個包,可以打包為egg文件。但對于解釋型語言“包”并沒有編譯成低級語言而后打包的意思,只是更加方便模塊化和管理模塊間的依賴。每種編程語言對于模塊和包管理都有一定的約定,不了解這些約定,那會給學習這種語言的帶來障礙。下面我想來梳理一下Python的這些約定。

一、Python查找模塊的路徑

運行Python應用或引用Python模塊,Python解釋器要有一個查找的過程。可以通過設置一個環境變量PYTHONPATH為Python增加一個搜索路徑,以方便查找到相關Python模塊(不同的操作系統環境變量的設置稍有不同,默認以下都是WIndows環境),這與眾多應用程序需要設置一個系統環境變量的道理是一樣的。在命令行中可以通過以下命令設置:

C:UsersAdministrator>set PYTHONPATH=E:/Project/Python/ModuleAndPackage/

進入Python環境后可以,通過Python的sys.path屬性獲得當前搜索路徑的配置,可以看到之前我們設置的路徑已經在當前搜索路徑中了。

C:UsersAdministrator>pythonPython 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32Type 'help', 'copyright', 'credits' or 'license' for more information.>>> import sys>>> sys.path[’’, ’E:ProjectPythonModuleAndPackage’, ’C:Windowssystem32python27.zip’,’C:PythonDLLs’,’C:Pythonlib’, ’C:Pythonlibplat-win’, ’C:Pythonliblib-tk’, ’C:Python’, ’C:Pythonlibsite-packages’]>>>

也可以通過sys模塊的append方法在Python環境中增加搜索路徑。

>>> sys.path.append('E:ProjectPythonModuleAndPackage2')>>> sys.path[’’, ’E:ProjectPythonModuleAndPackage’, ’C:Windowssystem32python27.zip’,’C:PythonDLLs’,’C:Pythonlib’, ’C:Pythonlibplat-win’, ’C:Pythonliblib-tk’, ’C:Python’, ’C:Pythonlibsite-packages’,’E:ProjectPythonModuleAndPackage2’]>>>

二、Python中的模塊和包

前面已經提到每個.py文件都是可以認為是一個Python模塊,.py文件中可以包含類、方法、變量和常量(Python還沒有嚴格意義上的常量,只是約定大寫的變量作為常量),文件內也可以直接寫所有的邏輯語句并在加載時從上之下直接執行,這與其他解釋型語言是類似的。例如我們選擇在文件夾ModuleAndPackage中創建一個文本文件person.py文件即創建了一個簡單的Python模塊,其內容如下:

# -*- coding: utf-8 -*-ID = 1name = 'This person'print namedef say(something): print name,’says’, something

那么接下來我們就可以在Python環境中執行person.py。我們可以直接像執行一個批處理文件那樣執行person.py,在cmd命令行輸入:

Python E:/Project/Python/ModuleAndPackage/person.py

本質上任何一個Python應用的入口模塊都是這樣被執行的(像C#和Java中的main函數),但是引用一個模塊,就要建立運行它的上下文環境。我們先設置一個環境變量PYTHONPATH,以便Python解釋器找到person.py模塊,然后import person模塊,即可訪問其中的方法或變量。

C:UsersAdministrator>pythonPython 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32Type 'help', 'copyright', 'credits' or 'license' for more information.>>> import personThis person>>> person.say('hello')This person says hello>>> print person.nameThis person>>>

Python需要去某些固定的路徑下去查找Python模塊,上面我們設置在ModuleAndPackage中查找。但是這些路徑下也是有目錄層次的,Python是如何查找子目錄中的模塊呢?特別是引用第三方包時,我們也需要知道一定的層次關系。實際上,Python通過目錄和文件構建包結構,并且包是層層嵌套的,和目錄層層嵌套是一樣的,這樣就構成了包內的訪問路徑(或者命名空間,也可以說Python應用的命名空間與其目錄和文件結構是對應了,似乎缺少了一些靈活,但也更簡單)。例如我們在ModuleAndPackage文件夾下,創建一個文件夾animal,里面創建一個文本文件pet.py,其內容如下:

# -*- coding: utf-8 -*-ID = 2name = 'This pet'print namedef run(somewhere): print name,’runs’, somewhere

那么如何引用pet.py這個模塊呢?按照Python的約定,需要在animal文件夾中創建名為__init__.py的空文本文件,以標識animal文件夾是一個包。倘若animal文件夾內還有文件夾作為包,也必須包含__init__.py文件。這樣就層層標識了訪問的路徑。

>>> import animal.petThis pet>>> print animal.pet.nameThis pet>>> animal.pet.run('everywhere')This pet runs everywhere>>>

或者使用from關鍵字直接導入模塊內的屬性或方法:

>>> from animal.pet import name,run>>> print nameThis pet>>> run('everywhere')This pet runs everywhere>>>

知識點擴展:

使用模塊有什么好處?

當一個模塊編寫完畢,就可以被其他地方引用。我們在編寫程序的時候,也經常引用其他模塊,包括Python內置的模塊和來自第三方的模塊。

模塊還可以避免函數名和變量名沖突。相同名字的函數和變量完全可以分別存在不同的模塊中。但是也要注意,盡量不要與內置函數名字沖突。

如果不同的人編寫的模塊名相同怎么辦?為了避免模塊名沖突,Python又引入了按目錄來組織模塊的方法,稱為包(Package)。

到此這篇關于python模塊如何查看的文章就介紹到這了,更多相關python的模塊在哪內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆免费精品视频| 一区免费视频| 好看的av在线不卡观看| 久久久人人人| 日韩国产一区| 久久视频一区| 99久久夜色精品国产亚洲1000部 | 欧美日韩中文一区二区| 91精品国产福利在线观看麻豆| 国产日产一区| 欧美~级网站不卡| 视频一区中文字幕国产| 高清久久一区| 在线观看精品| 色网在线免费观看| 亚洲欧美日韩专区| 亚洲精品三级| 日韩激情一二三区| 午夜国产欧美理论在线播放| 麻豆一区二区三区| 99精品在线免费在线观看| 丰满少妇一区| 亚洲精品精选| 中文字幕亚洲在线观看| 免费人成在线不卡| 91精品在线免费视频| 国产麻豆久久| 国产精品欧美日韩一区| 日韩三级久久| 高清久久精品| 日韩高清一级| 久久婷婷激情| 天使萌一区二区三区免费观看| 蜜臀精品一区二区三区在线观看 | 国产精品www994| 国产一区二区精品福利地址| 国产探花一区二区| 日韩国产欧美在线播放| 国产99精品一区| 亚洲欧洲一区二区天堂久久| 国产精品99久久免费| 精品黄色一级片| 亚洲一区av| 日韩中文首页| 久久精品国产精品亚洲毛片| 精品日韩毛片| 国产色99精品9i| 日韩精品一卡| 国产精品xxx在线观看| 国产日韩一区二区三区在线播放 | 国产剧情一区| 久久国产亚洲| 色综合视频一区二区三区日韩| 久久三级毛片| 国产成人在线中文字幕| 亚洲一区二区毛片| 精品一区不卡| 免费人成黄页网站在线一区二区| 国产精品66| 伊人影院久久| 黄色网一区二区| 亚洲主播在线| 久久精品国产亚洲aⅴ| 亚洲欧美日韩专区| 欧美激情福利| 午夜在线播放视频欧美| 国产一区二区三区四区| 久久xxxx| 日韩精品电影| 国产日韩一区二区三免费高清| av免费不卡国产观看| 午夜在线视频观看日韩17c| 成人精品国产亚洲| 亚洲涩涩av| 久久精品导航| 麻豆成人91精品二区三区| 亚洲综合精品四区| 亚洲一区资源| 欧美日韩在线精品一区二区三区激情综合 | 欧美专区18| 久久av超碰| 亚洲2区在线| 韩日一区二区三区| 国产成人精品福利| 日韩精品三区四区| 亚洲欧美网站| 99久久精品网站| 精品九九久久| 青草国产精品久久久久久| 欧洲激情综合| 日韩中文视频| av在线最新| 国产精品久久久亚洲一区| 蜜臀久久99精品久久久久宅男 | www.com.cn成人| 欧美一区自拍| 亚洲伊人精品酒店| 亚洲精品网址| 婷婷激情一区| 精品国产不卡一区二区| 日韩不卡在线观看日韩不卡视频| 亚洲少妇自拍| 欧美午夜不卡影院在线观看完整版免费| 黄色精品视频| 欧美91在线| 国产精品永久| 少妇精品久久久一区二区三区| 一区在线免费观看| 欧美成人久久| 久久久水蜜桃av免费网站| 国产成人免费视频网站视频社区| 国产精品高清一区二区| 久久精品99国产国产精| 日韩激情一区二区| 亚洲一区av| 综合激情网站| 亚洲人成亚洲精品| 综合欧美精品| 亚洲精品极品| 爽好多水快深点欧美视频| 尤物网精品视频| 亚洲高清不卡| 国产国产精品| 欧美日韩免费观看一区=区三区 | 怡红院精品视频在线观看极品| 久久蜜桃资源一区二区老牛| 国产欧美一区二区三区精品酒店| 日韩88av| 香蕉成人av| 亚洲电影在线| 欧美+日本+国产+在线a∨观看| 国产伊人精品| 黄色av日韩| 国产伦一区二区三区| 欧美日韩在线观看视频小说| 精品亚洲a∨| 亚洲综合丁香| 日韩精品中文字幕一区二区| 亚洲精品大片| 国产在线观看91一区二区三区| 成人精品亚洲| 国产精品一区二区三区美女| 亚洲综合二区| 69堂精品视频在线播放| 91欧美日韩在线| 国产三级精品三级在线观看国产| 国产精品videossex久久发布| 久久激情一区| 国产精品丝袜在线播放| 国产成人免费精品| 亚洲性图久久| 欧美日韩一视频区二区| 免费不卡中文字幕在线| 日本va欧美va精品| 色综合www| 国产精品男女| 婷婷亚洲精品| 黄色国产精品| 欧美日韩国产高清电影| 乱一区二区av| 亚洲人成毛片在线播放女女| 国产精品免费99久久久| 视频一区二区国产| 黄色欧美日韩| 热三久草你在线| 久久要要av| 日韩在线观看| aⅴ色国产欧美| 18国产精品| 亚洲精品日韩久久| 丝袜美腿一区二区三区| 日韩1区2区3区| 日韩二区三区四区| 成人台湾亚洲精品一区二区| 蜜桃国内精品久久久久软件9| 亚洲伊人精品酒店| 欧美国产另类| 欧洲av一区二区| 亚洲美女91| 91一区二区| 综合激情视频| 国产探花一区二区| 中文字幕av一区二区三区人| 99国产精品久久久久久久成人热| 丝袜美腿一区| 伊人久久视频| 久久美女性网| 国际精品欧美精品| 国产aa精品| 亚洲成人二区| 91精品久久久久久久久久不卡| 久久久一二三| 日韩和的一区二在线| 国产精品tv| 日韩精品不卡一区二区| 亚洲第一精品影视| 亚洲精品国产偷自在线观看| 亚洲三级网址| 日韩av自拍| 亚洲手机在线|