避免使用import *
来源:互联网 发布:mac cp 文件夹 编辑:程序博客网 时间:2024/05/20 20:47
#翻译自《TwoScoops of Django Best Practices For Django 1.8》 1.5小节
正文
在我们99%的工作中,我们应该明确的导入每一个模块:
from django import forms
from django.db import models
不要最下面这样的事:
#不好的例子
from django.forms import *
from django.db.models import *
这么做是为了避免将另一个Python模块所有的内容都被导入并添加到我们当前模块的命名空间内。
如果不这样做,可能会产生不可预测的、有时甚至是灾难性的结果。
让我们看下如下不好的例子。 Django forms 和 Django models库中都有一个叫CharField的类。通过明确的导入这两个库,
Django models覆盖了Django forms中的CharField类。覆盖关键的功能也可能出现在Python内建的库和第三方库当中。
#Warning:Python 命名冲突
#不要这么做
from django.forms import CharField
from django.db.models import CharField
使用import *就像一位贪婪的顾客到一家冰淇淋店,虽然他只想买一两勺子的冰淇淋,但是他却要求先品尝一下所有31种冰淇淋!
不要导入所有的内容当你仅仅需要使用其中一小部分的内容。
如果一个顾客拿着一碗每种口味都有一勺的冰淇淋走出了冰淇淋店,那又是另一回事情了。
- 避免使用import *
- {{高性能Web开发}}避免使用@import
- Import原理,避免误区
- @import使用
- @import与#import的使用
- import和from...import的使用
- 在iOS7下 使用@import代替#import
- 使用Solr Data Import的full-import | delta-import功能
- #import的rename使用
- 不要使用@import
- Java import 如何使用
- python import 使用
- java-使用import
- Java中的import使用
- Golang import使用入门
- Golang Import使用入门
- golang import使用
- node 使用 import
- 使用模板类实现List容器&迭代器
- Windows7 64bit VS2013 Caffe test MNIST操作步骤
- 销售收入科目确定VKOA
- 笔试总结——计算机网络篇【持续更新】
- BloomFilter
- 避免使用import *
- POJ 2777 Count Color (线段树)
- commons.net FTP 实现断点续传
- tomcat的exploded archive 和packaged archive 有什么区别?
- 原型模式--你的作业写完啦,借我们抄抄吧!
- Poj 2985 树状数组求第k大
- mybatis开发步骤总结
- 详解MVP矩阵之ViewMatrix
- 管理Java垃圾回收的五个建议