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使用sorted函数对列表进行排序的方法
Apr 04 Python
python通过get,post方式发送http请求和接收http响应的方法
May 26 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
Python实现读取json文件到excel表
Nov 18 Python
理解python中生成器用法
Dec 20 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
Apr 23 Python
浅谈pytorch和Numpy的区别以及相互转换方法
Jul 26 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
Apr 29 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
如何在 Django 模板中输出 "{{"
Jan 24 Python
Python验证码截取识别代码实例
May 16 Python
python 爬取哔哩哔哩up主信息和投稿视频
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 _autoload自动加载类与机制分析
2012/02/10 PHP
php数组声明、遍历、数组全局变量使用小结
2013/06/05 PHP
教大家制作简单的php日历
2015/11/17 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
JavaScript判断变量是否为空的自定义函数分享
2015/01/31 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
vue实现选中效果
2020/10/07 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
Python读取properties配置文件操作示例
2018/03/29 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
django url到views参数传递的实例
2019/07/19 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
html5实现完美兼容各大浏览器的播放器
2014/12/26 HTML / CSS
参观监狱心得体会
2014/01/02 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
MySQL学习之基础命令实操总结
2022/03/19 MySQL
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js