Python 基礎(chǔ)教程之包和類的用法
Python 基礎(chǔ)教程之包和類的用法
建立一個(gè)文件夾filePackage
在filePackage 文件夾內(nèi)創(chuàng)建 __init__.py
有了 __init__.py ,filePackage才算是一個(gè)包,否則只是算一個(gè)普通文件夾。
在filePackage 文件夾內(nèi)創(chuàng)建 file.py
file.py 代碼如下:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from datetime import datetime class MyFile(): def __init__(self, filepath): print('MyFile init...') self.filepath = filepath def printFilePath(self): print(self.filepath) def testReadFile(self): with open(self.filepath, 'r') as f: s = f.read() print('open for read...') print(s) def testWriteFile(self): with open('test.txt', 'w') as f: f.write('今天是 ') f.write(datetime.now().strftime('%Y-%m-%d'))
__init__.py 代碼如下:
from file import MyFile
把本模塊里面的 公用的類 方法 暴漏出來
然后 外面的引用 不用找到具體的現(xiàn)實(shí)位置,找到包的__init__ 就好了
建立main.py 和 filePackage 平級(jí),
main.py 代碼如下:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from filePackage import MyFile if __name__ == '__main__': a = MyFile("./filePackage/test.txt") a.printFilePath(); a.testReadFile();
目錄結(jié)構(gòu):
若 __init__.py 里什么也不寫,那么在main.py里也可以這樣寫:
import filePackage.file if __name__ == '__main__': a = filePackage.file.MyFile("./filePackage/test.txt") a.printFilePath();
但不建議這樣寫,建議按上面的方法將模塊里的公用類暴露出來,直接引用。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Pytorch平均池化nn.AvgPool2d()使用方法實(shí)例
平均池化層,又叫平均匯聚層,下面這篇文章主要給大家介紹了關(guān)于Pytorch平均池化nn.AvgPool2d()使用方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-02-02python實(shí)現(xiàn)回旋矩陣方式(旋轉(zhuǎn)矩陣)
今天小編就為大家分享一篇python實(shí)現(xiàn)回旋矩陣方式(旋轉(zhuǎn)矩陣),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python用for循環(huán)實(shí)現(xiàn)九九乘法表
本文通過實(shí)例代碼給大家介紹了Python用for循環(huán)實(shí)現(xiàn)九九乘法表的方法,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05Pytest?fixture及conftest相關(guān)詳解
這篇文章主要介紹了Pytest?fixture及conftest相關(guān)詳解,fixture是在測(cè)試函數(shù)運(yùn)行前后,由pytest執(zhí)行的外殼函數(shù),更多相關(guān)內(nèi)容需要的朋友可以參考一下2022-09-09詳解python之多進(jìn)程和進(jìn)程池(Processing庫)
本篇文章主要介紹了詳解python之多進(jìn)程和進(jìn)程池(Processing庫),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06python2 與python3的print區(qū)別小結(jié)
這篇文章主要介紹了python2 與python3的print區(qū)別小結(jié),需要的朋友可以參考下2018-01-01Python datetime和unix時(shí)間戳之間相互轉(zhuǎn)換的講解
今天小編就為大家分享一篇關(guān)于Python datetime和unix時(shí)間戳之間相互轉(zhuǎn)換的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04