Python基礎(chǔ)之模塊相關(guān)知識(shí)總結(jié)
一、什么是模塊
- 容器 -> 數(shù)據(jù)的封裝
- 函數(shù) -> 語(yǔ)句的封裝
- 類 -> 方法和屬性的封裝
- 模塊 -> 模塊就是程序,模塊就是.py文件
- 導(dǎo)入hello模塊,且使用hello命名空間的hi()函數(shù)
(1)hello.py模塊的創(chuàng)建
注意模塊與調(diào)用的程序要在同一個(gè)文件夾下面
import的時(shí)候直接寫名字就行了,不用加上.py,eg:hello.py,hello就是模塊名
(2)執(zhí)行
- 命名空間
在Python中,每個(gè)模塊都會(huì)維護(hù)一個(gè)獨(dú)立的命名空間,我們應(yīng)該將模塊名加上,才能夠正常使用模塊中的函數(shù)。
二、導(dǎo)入模塊
- (1)import導(dǎo)入模塊
TemperatureConversion模塊
- (2)from 模塊名 import 函數(shù)名(不推薦使用)
會(huì)導(dǎo)入整個(gè)命名空間
- (3)import 模塊名 as 新名字(推薦使用)
三、name=‘main'
- 文件架構(gòu)
- TemperatureConversion.py文件
將測(cè)試代碼寫在了TemperatureConversion.py文件中
在calc.py中調(diào)用TemperatureConversion模塊,這種方式會(huì)導(dǎo)致將python中的測(cè)試代碼也打印出來(lái)了
- 為了解決上面的問(wèn)題,需要讓python知道:該模塊是作為程序運(yùn)行,還是導(dǎo)入到其他程序中,所以使用了__name__變量。
在主程序中使用__name__變量,得到的是__main__變量。
tc.__name__得到的是模塊的名字。
所以修改TemperatureConversion.py文件。
若__name__等于模塊名的話,說(shuō)明該模塊是被作為模塊導(dǎo)入的。
若__name__等于__main__的話,說(shuō)明該模塊是主程序。
在calc.py中調(diào)用TemperatureConversion模塊,其結(jié)果
四、搜索路徑
- 搜索路徑(系統(tǒng)會(huì)首先搜索的路徑)
>>> import sys >>> sys.path ['D:\\python3.3.2\\小甲魚python\\python程序\\第五十節(jié)課\\Temperature', 'D:\\python3.3.2\\Lib\\idlelib', 'C:\\windows\\system32\\python33.zip', 'D:\\python3.3.2\\DLLs', 'D:\\python3.3.2\\lib', 'D:\\python3.3.2', 'D:\\python3.3.2\\lib\\site-packages'] 推薦放到:D:\\python3.3.2\\lib\\site-packages
- 添加搜索路徑:
>>> import TemperatureConversion Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import TemperatureConversion ImportError: No module named 'TemperatureConversion' >>> import sys >>> sys.path.append("D:\\python3.3.2\WODE\Temperature") >>> sys.path ['', 'D:\\python3.3.2\\Lib\\idlelib', 'C:\\windows\\system32\\python33.zip', 'D:\\python3.3.2\\DLLs', 'D:\\python3.3.2\\lib', 'D:\\python3.3.2', 'D:\\python3.3.2\\lib\\site-packages', 'D:\\python3.3.2\\WODE\\Temperature'] >>> import TemperatureConversion >>> TemperatureConversion.f2c(59) 15.0
- (package)
(1)創(chuàng)建一個(gè)文件夾,用于存放相關(guān)的模塊,文件夾的名字即包的名字;
(2)在文件夾中創(chuàng)建一個(gè)__init__.py的模塊文件,內(nèi)容可以為空;
(3)將相關(guān)的模塊放入文件夾中
- eg:制作包并導(dǎo)入包
到此這篇關(guān)于Python基礎(chǔ)之模塊相關(guān)知識(shí)總結(jié)的文章就介紹到這了,更多相關(guān)Python模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Web程序搭建簡(jiǎn)單的Web服務(wù)器
這篇文章主要介紹了Python Web程序搭建簡(jiǎn)單的Web服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07使用Scrapy框架爬取網(wǎng)頁(yè)并保存到Mysql的實(shí)現(xiàn)
本文主要介紹了使用Scrapy框架爬取網(wǎng)頁(yè)并保存到Mysql的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07python 通過(guò) pybind11 使用Eigen加速代碼的步驟
這篇文章主要介紹了python 通過(guò) pybind11 使用Eigen加速代碼的步驟,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12python通過(guò)elixir包操作mysql數(shù)據(jù)庫(kù)實(shí)例代碼
這篇文章主要介紹了python通過(guò)elixir包操作mysql數(shù)據(jù)庫(kù),分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01讓代碼變得更易維護(hù)的7個(gè)Python庫(kù)
今天小編就為大家分享一篇關(guān)于讓代碼變得更易維護(hù)的7個(gè)Python庫(kù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10Python3 全自動(dòng)更新已安裝的模塊實(shí)現(xiàn)
這篇文章主要介紹了Python3 全自動(dòng)更新已安裝的模塊實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01Python如何使用print()函數(shù)輸出格式化字符串
Python中內(nèi)置的%操作符和format函數(shù),都可以用于格式化字符串,下面這篇文章主要給大家介紹了關(guān)于Python如何使用print()函數(shù)輸出格式化字符串的相關(guān)資料,需要的朋友可以參考下2021-08-08django 實(shí)現(xiàn)手動(dòng)存儲(chǔ)文件到model的FileField
這篇文章主要介紹了django 實(shí)現(xiàn)手動(dòng)存儲(chǔ)文件到model的FileField,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03