欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Python中modlue和packages有什么區(qū)別

Python中modlue和packages有什么區(qū)別,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

10年的阿壩州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整阿壩州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“阿壩州網(wǎng)站設(shè)計(jì)”,“阿壩州網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

首先打開Pycharm(沒用過(guò)的可以先百度安裝,很簡(jiǎn)單),左上角點(diǎn)

File--> New Project

Python中modlue和packages有什么區(qū)別

然后這里隨便取個(gè)名字,我這里叫做 packages_demo

其實(shí)這里說(shuō)隨便,其實(shí)不管是什么編程語(yǔ)言,文件,函數(shù)的命名都是有講究的,盡量取的能代表你要做的事情,增加代碼易讀性。

Python中modlue和packages有什么區(qū)別

然后右鍵剛才新建的包的,選擇Python File,取名為setup.py 

Python中modlue和packages有什么區(qū)別

然后再點(diǎn)我們工程名字,選擇Directory,新建兩個(gè)文件夾, 一個(gè)取名為packages_demo。另一個(gè)叫demo。

Python中modlue和packages有什么區(qū)別

然后再packages_demo文件夾下面,新建兩個(gè)Python File,一個(gè)叫 __init__.py, 一個(gè)叫 __version__.py。順便再建一個(gè)Python File 叫firsrt.py 。另外在demo文件夾下新建一個(gè)Python File 叫做outer.py。

 好,現(xiàn)在我們的工程結(jié)構(gòu)是這樣的:

Python中modlue和packages有什么區(qū)別

好,先停一下,我們講一下細(xì)節(jié)。

剛開始學(xué)Python的時(shí)候,可能你是在Python Shell 里面敲了一個(gè)print("Hello World !")

Python中modlue和packages有什么區(qū)別

后來(lái)你也可能也會(huì)在Shell里面寫個(gè)函數(shù)。但是等你關(guān)掉Shell 的時(shí)候,你寫的代碼就沒了,也就是沒有保存起來(lái),問(wèn)題就來(lái)了,寫的代碼都沒保存,那后面想用的時(shí)候就沒法用。

Python中modlue和packages有什么區(qū)別

所以你會(huì)在Shell里面選擇新建文件,然后保存,命名為demo.py。 然后這時(shí)候就可以在Shell里面import 進(jìn)來(lái)你寫的demo 包了,這個(gè)包就是Python中的module,Python中的包包括內(nèi)置的包和第三方包,內(nèi)置的包不需要安裝,第三方包需要手動(dòng)安裝,而一般的包都可以通過(guò)pip來(lái)安裝,那我怎么知道,那些可以用pip,那些不可以用pip呢? 你安裝一下,安裝成功了,就說(shuō)明可以啊。。。

Python中modlue和packages有什么區(qū)別

另外一種安裝方式就是下載包的源代碼,然后執(zhí)行 python setup.py install , 同樣也可以安裝,還有些包有.whl后綴的文件,這個(gè)也可以直接pip xxx.whl install 運(yùn)行安裝, whl其實(shí)是已經(jīng)編譯好的pyd文件,這樣在本地安裝的時(shí)候就不需要編譯,pyd文件是怎么產(chǎn)生的? 是我們?cè)诰幾g.py文件的時(shí)候,Python解釋器自動(dòng)生成的。

關(guān)于Python包還有一個(gè)需要掌握的就是 下面這個(gè)

Python中modlue和packages有什么區(qū)別

if __name__ == "__main__"

這一句是什么意思? 當(dāng)我們?cè)赟hell里面import demo,并計(jì)算1,2的和的時(shí)候,下面那句并沒有輸出。然后我們Ctrl+F5,執(zhí)行demo.py文件,他輸出結(jié)果:

Python中modlue和packages有什么區(qū)別

這就說(shuō)明,if __name__ == "__main__"的作用就是說(shuō),下面的代碼只有在直接執(zhí)行demo.py時(shí)才運(yùn)行,而import 的時(shí)候是不執(zhí)行的。

好,為了讓大家徹底理解,我我們?cè)赿emo.py中加入一句,print(__name__) 

然后在Shell里面import demo 出現(xiàn)結(jié)果為demo。 然后調(diào)用demo的__name__方法。輸出也是demo。

然后直接運(yùn)行demo.py,顯式的名字為 __main__,這你就明白了吧。。

Python中modlue和packages有什么區(qū)別

到這,關(guān)于module 需要了解的就這么多了,最后說(shuō)一下,Python中的雙下劃線開頭表示的是特殊方法名。也就是說(shuō),name是Python中的一個(gè)特殊方法,所以加了雙下劃線。

我們用dir()方法可以查看demo這個(gè)module下面都定義了哪些方法

Python中modlue和packages有什么區(qū)別

可以看到這里除了add以外,還有幾個(gè)特殊方法,這個(gè)特殊方法,是Python預(yù)定義好的。

然后,注意一下,里面有個(gè)__package__的特殊方法,調(diào)用一下

Python中modlue和packages有什么區(qū)別

結(jié)果顯示為空,也就說(shuō)它沒有package,其實(shí)這里也可以看出來(lái),package是比module高一級(jí)的東西。

package在Python中的意思就是多個(gè)module組成起來(lái)就是package了。

關(guān)于package有兩點(diǎn)需要注意的,一是每個(gè)package下面需要包含 __init__.py文件,二是package的好處在于方便代碼管理和避免命名沖突。

好,然后我們回到開始讓大家新建的文件。其實(shí)就是新建了一個(gè)工程,在工程下面新建一個(gè)packages和一個(gè)module, 一個(gè)叫package_demo,一個(gè)叫demo。然后我們?cè)趂irst.py和outer.py下面隨便寫一點(diǎn)代碼:

first.py

print("This is first modlue")


def fun(x):
   return x * 2

outer.py

from packages_demo import first


def fun():
   return first.fun(x=3)

if __name__ == "__main__":
   results = fun()
   print(results)

然后看一下,setup.py 這個(gè)文件,這里要介紹的是setuptools這和包,這是一個(gè)Python自帶的包管理工具,可以編譯,安裝,管理Python的包。下面是一個(gè)簡(jiǎn)單的demo展示,代碼很少,這樣就可以創(chuàng)建一個(gè)我們自己的package了。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from setuptools import find_packages, setup

NAME = 'packages_demo'

setup(
   name=NAME,
   version="0.0.1",
   packages=find_packages()
)

然后我們打開Pycharm下面的Terminal命令行,執(zhí)行python setup.py install.

Python中modlue和packages有什么區(qū)別

這樣我們就安裝了一個(gè)自己寫的package。是不是很帥?

安裝完之后,文件夾下面多了這個(gè)三個(gè)文件夾,這個(gè)就是編譯好的Python的包

Python中modlue和packages有什么區(qū)別

然后我們也可以在我們的Shell里面直接調(diào)用了,這就表明,我們已經(jīng)封裝好了一個(gè)Python的package,這個(gè)packages_demo就和平時(shí)用的os, sys, pandas等等包的原理沒有區(qū)別。

Python中modlue和packages有什么區(qū)別

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

新聞名稱:Python中modlue和packages有什么區(qū)別
URL鏈接:http://chinadenli.net/article44/pgpohe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化微信小程序自適應(yīng)網(wǎng)站網(wǎng)站設(shè)計(jì)網(wǎng)站策劃企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管