python - __init__.py 中的类实现
问题描述
我一直在查看__init__.py
文件,并看到建议是在那里处理包的导入和/或一些初始化。
然后有一个像 Python Collections这样的包。它__init__.py
包含不同 Collection 对象的实现。
为什么要将实现放在包中__init__.py
而不是专用.py
文件中?这是一个好主意吗?它是一种设计模式吗?
解决方案
在这种特殊情况下,根本不需要一个包含__init__.py
文件的目录,因为该模块中唯一的另一个文件是abc.py
,它本身没有定义任何内容。所以如果不是 for abc.py
,整个事情应该只是collections.py
代替collections/__init__.py
。那么为什么会是这样呢?纯粹出于向后兼容性的原因。他们不想破坏from collections.abc import ...
,而是想在内部移动东西。
推荐阅读
- discord.py - 如何删除每个带有事件的文本频道?
- spring-boot - Spring Boot 测试未到达 MySql 数据库
- time-complexity - 固定循环的大 O
- vue.js - 在 vuejs 顶部显示最近添加的记录
- python - 在 Python 中建立 HTTPS 连接时出现 HTTP 400 错误请求?
- symfony4 - 如何在 Doctrine 查询生成器中使用函数
- python - 将一个巨大的列表拆分为更小的列表并将项目附加到这些子列表中
- java - 如果用户输入了地址,则仅显示地址格式信息
- html - Carousel Bootstrap 不能用作幻灯片
- java - 将 Java Spark Sql 连接到 Mysql