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 3.x 新特性及10大变化
Jun 12 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 Python
python实现树形打印目录结构
Mar 29 Python
实例详解Python模块decimal
Jun 26 Python
Python+selenium点击网页上指定坐标的实例
Jul 05 Python
PIL包中Image模块的convert()函数的具体使用
Feb 26 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
Python 中由 yield 实现异步操作
May 04 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
Dec 08 Python
python实现经典排序算法的示例代码
Feb 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
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
基于jquery的商品展示放大镜
2010/08/07 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
jQuery实现日历效果
2020/09/11 jQuery
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
python数据类型_字符串常用操作(详解)
2017/05/30 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
Django 路由系统URLconf的使用
2018/10/11 Python
python批量下载抖音视频
2019/06/17 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
python 调用Google翻译接口的方法
2020/12/09 Python
Python的logging模块基本用法
2020/12/24 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
承办会议欢迎词
2014/01/17 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
先进党员事迹材料
2014/12/24 职场文书
Python 阶乘详解
2021/10/05 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server