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程序设计入门(4)模块和包
Jun 16 Python
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
Python实现SMTP发送邮件详细教程
Mar 02 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
Django实现学生管理系统
Feb 26 Python
django最快程序开发流程详解
Jul 19 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
pytorch中的自定义数据处理详解
Jan 06 Python
Python Selenium参数配置方法解析
Jan 19 Python
Python多线程threading join和守护线程setDeamon原理详解
Mar 18 Python
python通过函数名调用函数的几种方法总结
Jun 07 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个人网站架设连环讲(一)
2006/10/09 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
Nodejs学习item【入门手上】
2016/05/05 NodeJs
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
js实现随机数小游戏
2019/06/28 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
高中考试作弊检讨书
2014/01/14 职场文书
给女儿的表扬信
2014/01/18 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
学习张林森心得体会
2014/09/10 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书