Python(十五)

1.抽象基类

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

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

2.模块和包

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

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

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

测试的也打印出来了

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

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

单独执行:

作为模块导入:

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

包:

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

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

可以定义包的全局变量:

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

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

相关推荐
2501_909509108 分钟前
DAY 28
开发语言·python
码云骑士12 分钟前
71-Agent记忆系统-短期记忆-长期记忆-向量知识库三层架构
python·架构
卷无止境14 分钟前
Python 的 exec 与 eval :动态代码执行的能力、风险与工程实践
后端·python
user-猴子14 分钟前
从零构建 2048 游戏,解析“Python-Use”范式的完整闭环
开发语言·python·游戏
郝学胜_神的一滴24 分钟前
Python 高级编程 025:二分利器bisect模块:优雅维系有序序列,极致优化检索性能
python·pycharm
小陈工40 分钟前
第8篇:Flask轻量级框架与扩展生态深度解析(下)
后端·python·面试
这就是佬们吗44 分钟前
Python入门③-运算符、条件与循环
开发语言·数据库·vscode·python·pycharm·编辑器
小刘学技术1 小时前
AI人工智能中的类别不平衡问题:成因、影响与解决方案
开发语言·人工智能·python·机器学习
郝同学今天有进步吗1 小时前
构建 LangGraph Code Review Agent(二):建立仓库路径安全边界
python·ai·code review
雨师@1 小时前
python通过rust编写组件扩展自己的能力
python·rust