Python 基础教程之包和类的用法

702次阅读  |  发布于5年以前

Python 基础教程之包和类的用法

建立一个文件夹filePackage

在filePackage 文件夹内创建 init.py

有了 init.py ,filePackage才算是一个包,否则只是算一个普通文件夹。

在filePackage 文件夹内创建 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

把本模块里面的 公用的类 方法 暴漏出来

然后 外面的引用 不用找到具体的现实位置,找到包的init 就好了

建立main.py 和 filePackage 平级,

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();

目录结构:

init.py 里什么也不写,那么在main.py里也可以这样写:


    import filePackage.file
    if __name__ == '__main__':
     a = filePackage.file.MyFile("./filePackage/test.txt")
     a.printFilePath();

但不建议这样写,建议按上面的方法将模块里的公用类暴露出来,直接引用。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8