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类继承用法实例分析
Oct 10 Python
推荐11个实用Python库
Jan 23 Python
python绘制条形图方法代码详解
Dec 19 Python
Numpy数组转置的两种实现方法
Apr 17 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 Python
python向字符串中添加元素的实例方法
Jun 28 Python
Django 创建后台,配置sqlite3教程
Nov 18 Python
使用python客户端访问impala的操作方式
Mar 28 Python
Jupyter Notebook的连接密码 token查询方式
Apr 21 Python
如何使用python写截屏小工具
Sep 29 Python
Python中super().__init__()测试以及理解
Dec 06 Python
Python sklearn分类决策树方法详解
Sep 23 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基于GD库画五星红旗的方法
2015/02/24 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
jQuery实现将页面上HTML标签换成另外标签的方法
2015/06/09 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
完美实现八种js焦点轮播图(下篇)
2020/04/20 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
python文件操作相关知识点总结整理
2016/02/22 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
2017/07/25 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
2018/03/22 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
瑜伽国际:Yoga International
2018/04/18 全球购物
成人教育自我鉴定
2013/11/01 职场文书
教师读书活动总结
2014/05/07 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
董事长助理岗位职责
2015/02/11 职场文书
承诺书模板大全
2015/05/04 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
Mysql开启外网访问
2022/05/15 MySQL
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS