Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我来讨论一下 __init__.py 的内容吧 #5

Open
Allianzcortex opened this issue Sep 2, 2016 · 2 comments
Open

我来讨论一下 __init__.py 的内容吧 #5

Allianzcortex opened this issue Sep 2, 2016 · 2 comments

Comments

@Allianzcortex
Copy link

init.py 一般有三种作用,除了标记 module 外,还能:
① 留空
② 在 init.py 中引入所有的模块。import all modules
③ 在 init.py 中引入 key function 到 package namespace。好处在于当你重构了整个代码之后仍然有办法使得 API 保持稳定。(在 reddit 里的一个讨论帖里所提到的)

实际上我最喜欢的是第②和第③种,可以简化引入的模块。

所以从这点来看的话,在 init.py 里:
① 不用 import *,只要第一行就够了
② 用 from .server import WebApp 来替代 from server import WebApp。前者是 explicit relative import,后者是 implicit relative import。虽然在同一个 module 里两种都是没有问题的,但 Pythonic~

@salamer
Copy link
Owner

salamer commented Sep 2, 2016

我觉得。。。。无所谓吧。。。。。这个是依赖的问题。。。而且py的依赖本就。。。有坑。。。

@Allianzcortex
Copy link
Author

还不睡啊。。我是在最近没事干的时候看 《Two Scopes Of Django》里翻到有这样一个注意事项,就顺便提了一下:-D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants