Python(十五)

1.抽象基类

利用元类,就可以阻止类被实例化,抽象基类也是一种不能被实例化的类

通过使用抽象基类,报错提前了

2.模块和包

模块是py中最高级别的组织结构,也是最高层次的代码重用手段

会有重名问题:内置函数int会被自己定义的int函数覆盖

最后导入的,会覆盖之前导入的重名方法

测试的也打印出来了

模块在导入的时候,会从头到尾执行一遍所有语句,利用if_ name==" main _"

当模块当做脚本,独立执行的时候,它的_ name 属性被赋值为" main ",在模块代码执行之前,判断if name==" main _" 就可以解决

单独执行:

作为模块导入:

name的值就是模块的名称名称而非_ main _

包:

3.3之前需要有一个init这个文件,要不就识别不出是包了,3.3之后就不用了

init.py有承载的构造的功能,可以通过它进行包的初始化

可以定义包的全局变量:

跨文件几别,全局变量修改

不能在模块中使用使用这个包TC的,需要将其作为模块使用才可以

相关推荐
青衫客3618 分钟前
用 Python 实现一个“小型 ReAct 智能体”:思维链 + 工具调用 + 环境交互
python·大模型·llm·react
AI视觉网奇44 分钟前
音频分类模型笔记
人工智能·python·深度学习
Ratten2 小时前
【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(四)配置管理界面和逻辑实现
python
Ratten2 小时前
【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(五)打包成 exe 应用
python
跟橙姐学代码2 小时前
写 Python 函数别再死抠参数了,这招让代码瞬间灵活
前端·python
nightunderblackcat3 小时前
进阶向:人物关系三元组,解锁人物关系网络的钥匙
开发语言·python·开源·php
站大爷IP3 小时前
Pandas与NumPy:Python数据处理的双剑合璧
python
站大爷IP3 小时前
Python枚举进化论:IntEnum与StrEnum的实战指南
python
甄超锋3 小时前
python sqlite3模块
jvm·数据库·python·测试工具·django·sqlite·flask
R-G-B4 小时前
OpenCV Python——Numpy基本操作(Numpy 矩阵操作、Numpy 矩阵的检索与赋值、Numpy 操作ROI)
python·opencv·numpy·numpy基本操作·numpy 矩阵操作·numpy 矩阵的检索与赋值·numpy 操作roi