本文關(guān)鍵給大家介紹了python程序流程裝包派發(fā)實(shí)例詳細(xì)說明,感興趣的小伙伴可以參考去了解一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪。
前言
python程序編寫時(shí),部分人良好習(xí)慣可實(shí)現(xiàn)相同功能性的編碼放到同一個(gè)文件;
使用這個(gè)編碼只需import就行了;
下邊看這個(gè)事例。
testModel.py classTest: name='tom' age=0 __weight=0 def__init__(self,n,a,w): self.name=n self.age=a self.__weight=w defspeak(self): print("Testmodel:",self.name,self.age,self.__weight)
然后,引入上邊的編碼:
importtestModel testModel.Test("tom",0,1).speak() #Testmodel:tom01 python程序流程裝包 新創(chuàng)建一個(gè)文件夾testPackages; testPackages下新創(chuàng)建1個(gè)空文件__init__.py,聲明書這也是一個(gè)python包 testPackages下新創(chuàng)建1個(gè)空文件testModel.py,用以儲(chǔ)放函數(shù)代碼 testPackages/ ├──__init__.py └──testModel.py
然后,引入上邊的編碼:
fromtestPackagesimporttestModel testModel.Test("tom",0,1).speak() #Testmodel:tom01
__init__.py文件的作用
__init__.py的作用是聲明這也是一個(gè)包;
每一次導(dǎo)進(jìn)包前都會(huì)先實(shí)行__init__.py,因此可以在這其中聲明某些界定,例如自變量或插口;
下面我們就看這個(gè)__init__.py的應(yīng)用事例
testPackages/ ├──__init__.py ├──add.py └──testModel.py
add.py
defadd(a,b): returna+b __init__.py importtestPackages.add add=testPackages.add.add
然后,引入上邊的編碼:
importtestPackages testPackages.add(1,2) #3
搭建python包
使用setuptools搭建python包
packaging_tutorial/
├──LICENSE
├──pyproject.toml#應(yīng)用什么樣的工具(pip或build)構(gòu)建項(xiàng)目
├──README.md
├──src/
│└──example_package/
│├──__init__.py
│└──example.py
└──tests/#事例數(shù)據(jù)
pyproject.toml [build-system] requires=["setuptools>=42"] build-backend="setuptools.build_meta" setup.py是setuptool的搭建腳本,用以組裝包的相關(guān)信息:名稱,版本號(hào)和源代碼詳細(xì)地址 importsetuptools withopen("README.md","r",encoding="utf-8")asfh: long_description=fh.read() setuptools.setup( name="testPackages", version="2.2.1", author="Author", author_email="authorexample.com", description="Asmallexamplepackage", long_description=long_description, long_description_content_type="text/markdown", url="http://baidu.com/", classifiers=[ "ProgrammingLanguage::Python::3", "License::OSIApproved::MITLicense", "OperatingSystem::OSIndependent", ], package_dir={"":"src"}, packages=setuptools.find_packages(where="src"), python_requires=">=3.6", )
setup()主要參數(shù):
package_dir:辭典,key是包名,value是一個(gè)文件夾;
packages:派發(fā)包必須導(dǎo)進(jìn)的所有控制模塊目錄;能夠手工錄入,也可以用find_packages函數(shù)全自動(dòng)探尋package_dir下的所有包或控制模塊。
形成派發(fā)包
python3setup.pysdist
當(dāng)?shù)亟M裝
python3-mpipinstall./dist/testPackages-2.2.1.tar.gz
啟用
fromtestPackagesimportadd add.add(1,2) #3 #在__init__.py搭建了add=testPackages.add.add,因此可以直接用 add(1,2) #3
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/128855.html
當(dāng)運(yùn)用桌面應(yīng)用程序時(shí),有沒有有一瞬間,想學(xué)習(xí)下桌面應(yīng)用程序開發(fā)設(shè)計(jì)?接下來本文關(guān)鍵為大家介紹了有關(guān)Python使用pywebview開發(fā)設(shè)計(jì)桌面應(yīng)用的資料,必須的小伙伴可以借鑒一下 序言 平時(shí)用過Eel做出來的桌面應(yīng)用感覺就已經(jīng)夠?qū)帕?不過因?yàn)镋el是啟用Chrome,常常出現(xiàn)一些小毛病,例如窗口大小設(shè)定后有的時(shí)候不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來是一個(gè)web).并且試了用...
當(dāng)運(yùn)用桌面應(yīng)用程序時(shí),有沒有有一瞬間,想學(xué)習(xí)下桌面應(yīng)用程序開發(fā)設(shè)計(jì)?接下來本文關(guān)鍵為大家介紹了有關(guān)Python使用pywebview開發(fā)設(shè)計(jì)桌面應(yīng)用的資料,必須的小伙伴可以借鑒一下 序言 平時(shí)用過Eel做出來的桌面應(yīng)用感覺就已經(jīng)夠?qū)帕?不過因?yàn)镋el是啟用Chrome,常常出現(xiàn)一些小事情,例如窗口大小設(shè)定后有時(shí)不起作用,右鍵新建菜單沒法禁止使用(一眼就能看出來就是一個(gè)web).并且試了用p...
目錄生成式基礎(chǔ)語法 [expforiter_variniterable(ifconditional)] 基本原理: 最先迭代更新iterable里全部內(nèi)容,每次迭代更新,都把iterable里對應(yīng)的具體內(nèi)容放在iter_var中,然后把關(guān)系式exp運(yùn)用該iter_var的具體內(nèi)容,依據(jù)標(biāo)準(zhǔn)進(jìn)行分類 然后用關(guān)系式計(jì)算值形成一個(gè)全新的目錄 先于for和if循環(huán)系統(tǒng): 1、比for循環(huán)快...
閱讀 919·2023-01-14 11:38
閱讀 891·2023-01-14 11:04
閱讀 750·2023-01-14 10:48
閱讀 2039·2023-01-14 10:34
閱讀 956·2023-01-14 10:24
閱讀 833·2023-01-14 10:18
閱讀 506·2023-01-14 10:09
閱讀 583·2023-01-14 10:02