Python(十五)

1.抽象基类

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

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

2.模块和包

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

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

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

测试的也打印出来了

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

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

单独执行:

作为模块导入:

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

包:

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

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

可以定义包的全局变量:

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

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

相关推荐
查古穆19 分钟前
python进阶-推导式
开发语言·python
☆56638 分钟前
如何为开源Python项目做贡献?
jvm·数据库·python
m0_560396471 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
SEO-狼术1 小时前
Improve Navigation with In-Cell Hyperlinks
python·pdf
2301_816651221 小时前
用Python监控系统日志并发送警报
jvm·数据库·python
飞Link1 小时前
Python Pydantic V2 核心原理解析与企业级实战指南
开发语言·python
Betelgeuse762 小时前
Django 项目远程服务器部署教程:从开发到生产
python·django·vue
2501_918126912 小时前
学习python所有用来写ai的语句
人工智能·python·学习
m0_518019482 小时前
使用Kivy开发跨平台的移动应用
jvm·数据库·python