【py】任务26:包与模块管理及面向对象初步

一、包

  1. 在程序执行的时候,是有一个入口变量’name’,入口变量一般默认等于‘main’,表示默认优先 执行main脚本文件。
  2. 我们同样可以通过设置来设置执行文件
  3. 注意:写作双横线:name在这里插入图片描述
    3. 模块
    因功能而异,将不同功能代码写作不同文件,每个文件就是一个模块在这里插入图片描述
    模块使用:
    1。import–(可导入目录中自定义的模块)直接导入了模块中的全部方法。

2。from(从xx地方导入)
比如:表示从models模块里引入pages函数,那么在下方使用函数时,就不用写模块引用models.pages(),直接写pages()函数即可在这里插入图片描述
2。from 模块 import * 还是表示引入模块内所有东西
3。在两个模块中有名字相同的函数,例如下图,函数名均为test()
处理方法:
1。引用函数加模块,如:models.test()
view.test()
2。引入函数时,起个别名,格式:
from 模块名 import 函数名 as 新的别名
在这里插入图片描述
4。实际开发中,导入模块最好。
5。引入模块时,具体是怎么引入的?
在这里插入图片描述
6。模块更新与重载
当导入的模块内容更新时,即使运行程序,也无法和更新后的模块一致,那是因为模块导入编译为字节码,运行模块文件后,模块重新改变,没有重新导入,运行时运行的还是已经编译 为字节码的老模块内容;
解决方法:
1。在控制台输入指令,重新导入一次模块;
2。使用重载函数:如下:在这里插入图片描述
注意:importlib.reload(模块名) 此函数只认识模块,只能重载 import 模块 方式的引入;
from引入的无法重载:

二、包

对于目录下的模块进行统一管理,需要引入“包”的概念
1。引入包中的模块:import 包.模块
在这里插入图片描述
2。引入当前目录下的包中模块(有好几重文件夹)
import .a.模块----- .a前面的点表示默认当前目录下查找
在这里插入图片描述

三、面向对象oop01

抛开代码,按照计算机围绕人的思想走。
万物皆对象:重点在于分析对象本身具有的特征、行为
面向对象的三个典型特征:封装、继承、多态

  1. 封装:提高代码重用性,降低代码冗余
    比如:定义函数,定义其特征量,都属于封装
    在这里插入图片描述
    以上是单纯用代码表示面向对象(还没有引入类的概念)
  2. **继承:**有点类似于大类包含小类

面向对象的步骤

1。面向对象分析OOA

2。面向对象设计OOD

3。面向对象编程OOP

以图书为例,分析其特征和行为:
在这里插入图片描述

写‘’类‘’的目的:定义对象
类:class
pass是占位符
1。构造函数–给具体的对象实例赋值
以一本书为例,书的定价,作者等等需要初始设置,因此定义的初始化函数如下:
在这里插入图片描述
实例初始化参数设置
引入日期的包,datetime.date(日期)的日期不是字符串,可以参与日期的计算
在这里插入图片描述
**初始化函数只是 定义了对象的特征。**只要实例化,就默认已经执行了初始化函数
在这里插入图片描述

类中还可以定义其他函数用来描述类的行为:
在这里插入图片描述
从模块内导入一个类:
表示:将main中实例化后的类实例导入
在这里插入图片描述
在这里插入图片描述
交互性提示符下进行操作,打出实例名称,返回地址,但这对开发者来说意义不明,因此引入函数__repr__(self)
在这里插入图片描述
在这里插入图片描述
有repr函数后,实例化后,在交互性提示符中输入实例名:不再返回地址:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值