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中的yield函数的用法
Apr 03 Python
python绘制铅球的运行轨迹代码分享
Nov 14 Python
python模块smtplib学习
May 22 Python
python版本单链表实现代码
Sep 28 Python
Python常用的json标准库
Feb 19 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
python使用opencv resize图像不进行插值的操作
Jul 05 Python
python合并多个excel文件的示例
Sep 23 Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 Python
python实现excel公式格式化的示例代码
Dec 23 Python
关于python类SortedList详解
Sep 04 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中一些可能会被忽略的问题
2013/06/21 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
AngularJs验证重复密码的方法(两种)
2016/11/25 Javascript
简单实现js鼠标跟随效果
2020/08/02 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
PyTorch: 梯度下降及反向传播的实例详解
2019/08/20 Python
Python sys模块常用方法解析
2020/02/20 Python
pytorch中的inference使用实例
2020/02/20 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
python如何输出反斜杠
2020/06/18 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
化工专业个人的求职信范文
2013/11/28 职场文书
护士实习求职信
2014/06/22 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
2015年大学生工作总结
2015/04/21 职场文书
公司员工管理制度
2015/08/04 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers