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 基础学习教程
Feb 08 Python
python实现linux下使用xcopy的方法
Jun 28 Python
python+matplotlib实现礼盒柱状图实例代码
Jan 16 Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
python队列原理及实现方法示例
Nov 27 Python
Python创建数字列表的示例
Nov 28 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
详解python中的异常捕获
Dec 15 Python
利用Python实现学生信息管理系统的完整实例
Dec 30 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 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正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
JavaScript中使用Substring删除字符串最后一个字符
2013/11/03 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
js转html实体的方法
2016/09/27 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
py中的目录与文件判别代码
2008/07/16 Python
从零学Python之引用和类属性的初步理解
2014/05/15 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
某公司.Net方向面试题
2014/04/24 面试题
校园奶茶店创业计划书
2014/01/23 职场文书
致接力运动员广播稿
2014/02/17 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
2014年部门工作总结
2014/11/12 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
基于angular实现树形二级表格
2021/10/16 Javascript