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入门及进阶笔记 Python 内置函数小结
Aug 09 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
Python版名片管理系统
Nov 30 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 Python
Django3.0 异步通信初体验(小结)
Dec 04 Python
如何查看Django ORM执行的SQL语句的实现
Apr 20 Python
Python参数传递机制传值和传引用原理详解
May 22 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
python PIL模块的基本使用
Sep 29 Python
使用AJAX和Django获取数据的方法实例
Oct 25 Python
Django中的DateTimeField和DateField实现
Feb 24 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初学者头痛的十四个问题
2006/07/12 PHP
加强版phplib的DB类
2008/03/31 PHP
解析CodeIgniter自定义配置文件
2013/06/18 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
php微信公众号开发模式详解
2016/11/28 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
JavaScript类和继承 prototype属性
2010/09/03 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
Vue动态组件与异步组件实例详解
2019/02/23 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
python实现html转ubb代码(html2ubb)
2014/07/03 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Django框架多表查询实例分析
2018/07/04 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
python爬虫增加访问量的方法
2019/08/22 Python
python 实现目录复制的三种小结
2019/12/04 Python
Django如何使用redis作为缓存
2020/05/21 Python
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
小学生期末评语
2014/04/21 职场文书
暑期培训心得体会
2014/09/02 职场文书
公司租房协议书范本
2014/10/08 职场文书
如何写辞职书
2015/02/26 职场文书
电影开国大典观后感
2015/06/04 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript