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随机生成彩票号码的方法
Mar 05 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
Python迭代器和生成器定义与用法示例
Feb 10 Python
使用pandas的DataFrame的plot方法绘制图像的实例
May 24 Python
示例详解Python3 or Python2 两者之间的差异
Aug 23 Python
numpy创建单位矩阵和对角矩阵的实例
Nov 29 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
Jun 04 Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 Python
Python接口自动化测试的实现
Aug 28 Python
python 基于opencv 绘制图像轮廓
Dec 11 Python
python实现发送邮件
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
PHP转盘抽奖接口实例
2015/02/09 PHP
PHP模块化安装教程
2016/06/01 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
javascript Array.prototype.slice的使用示例
2013/11/14 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
2017/03/09 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
[34:08]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS EG
2018/03/30 DOTA
Python中文件遍历的两种方法
2014/06/16 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
python版DDOS攻击脚本
2019/06/12 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python脚本开机自启的实现方法
2019/06/28 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
最新销售员个人自荐信
2013/09/21 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
临床专业自荐信
2014/06/22 职场文书
市场策划求职信
2014/08/07 职场文书
违章停车检讨书
2014/10/21 职场文书
2015年度培训工作总结范文
2015/04/02 职场文书
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技