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进程管理工具supervisor使用实例
Sep 17 Python
在Python的Tornado框架中实现简单的在线代理的教程
May 02 Python
python使用分治法实现求解最大值的方法
May 12 Python
Python实现的简单hangman游戏实例
Jun 28 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
Jan 21 Python
用Python设计一个经典小游戏
May 15 Python
django-rest-framework解析请求参数过程详解
Jul 18 Python
python面向对象 反射原理解析
Aug 12 Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 Python
python函数局部变量、全局变量、递归知识点总结
Nov 15 Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 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
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
JavaScript判断前缀、后缀是否是空格的方法
2015/04/15 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
zTree节点文字过多的处理方法
2017/11/24 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
vue.js实现的绑定class操作示例
2018/07/06 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
[00:15]TI9地铁玩家打卡
2019/08/11 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
使用Python编写Linux系统守护进程实例
2015/02/03 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
Django ORM filter() 的运用详解
2020/05/14 Python
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
动员大会主持词
2014/03/20 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
党员批评与自我批评(5篇)
2014/09/23 职场文书
自查自纠工作总结
2014/10/15 职场文书
2015初中教导处工作总结
2015/07/21 职场文书
2016年禁毒宣传活动总结
2016/04/05 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
关于Redis的主从复制及哨兵问题
2022/06/16 Redis