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


Posted in Python onFebruary 23, 2017

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

目录结构:

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

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

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

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

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

Python 相关文章推荐
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
Python中对象迭代与反迭代的技巧总结
Sep 17 Python
简单的python后台管理程序
Apr 13 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
Nov 16 Python
python的dataframe和matrix的互换方法
Apr 11 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
使用python的pandas为你的股票绘制趋势图
Jun 26 Python
linux环境中没有网络怎么下载python
Jul 07 Python
Python-接口开发入门解析
Aug 01 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 Python
Python实现socket库网络通信套接字
Jun 04 Python
python安装oracle扩展及数据库连接方法
Feb 21 #Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 #Python
Python实现字符串格式化的方法小结
Feb 20 #Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 #Python
Python 模块EasyGui详细介绍
Feb 19 #Python
Python中字符串格式化str.format的详细介绍
Feb 17 #Python
Python爬虫:通过关键字爬取百度图片
Feb 17 #Python
You might like
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
php给图片加文字水印
2015/07/31 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
js验证表单第二部分
2006/11/25 Javascript
拖动一个HTML元素
2006/12/22 Javascript
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
python3.7 sys模块的具体使用
2019/07/22 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
在keras中实现查看其训练loss值
2020/06/16 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
python 制作网站小说下载器
2021/02/20 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
和解协议书
2014/04/16 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
队名及霸气口号大全
2015/12/25 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
go语言中http超时引发的事故解决
2021/06/02 Golang
如何使用pdb进行Python调试
2021/06/30 Python
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
Python装饰器的练习题
2021/11/23 Python