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 13 Python
使用Python实现BT种子和磁力链接的相互转换
Nov 09 Python
浅谈Python的异常处理
Jun 19 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
在Python中定义一个常量的方法
Nov 10 Python
pycharm运行和调试不显示结果的解决方法
Nov 30 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
Python requests及aiohttp速度对比代码实例
Jul 16 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 伪造本地文件包含漏洞的代码
2011/11/03 PHP
PHP数据类型之布尔型的介绍
2013/04/28 PHP
ThinkPHP实现附件上传功能
2017/04/27 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
js类中获取外部函数名的方法
2007/08/19 Javascript
javascript 窗口加载蒙板 内嵌网页内容
2010/11/19 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
详解如何较好的使用js
2016/12/16 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
vue实现购物车小案例
2019/09/27 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
python 换位密码算法的实例详解
2017/07/19 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
python安装scipy的方法步骤
2019/06/26 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
Python 文件数据读写的具体实现
2020/01/24 Python
Tkinter中复选菜单是否被选中的判断与设置方式
2020/03/04 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
python中numpy.empty()函数实例讲解
2021/02/05 Python
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
教育科学研究生自荐信
2013/10/09 职场文书
运动会四百米广播稿
2014/01/19 职场文书
学习方法演讲稿
2014/05/10 职场文书
街道务虚会发言材料
2014/10/20 职场文书
考研复习计划
2015/01/19 职场文书
2015公司年度工作总结
2015/05/14 职场文书