Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“使用”之间的最佳实践是什么;“导入模块”;及;从模块导入*;用python?哪种用法更有效?为什么?_Python_Python 2.7 - Fatal编程技术网

“使用”之间的最佳实践是什么;“导入模块”;及;从模块导入*;用python?哪种用法更有效?为什么?

“使用”之间的最佳实践是什么;“导入模块”;及;从模块导入*;用python?哪种用法更有效?为什么?,python,python-2.7,Python,Python 2.7,我已经看到这两种代码在python中可以互换使用 Import module 或 以上两种代码的区别是什么?这意味着什么?编码效率方面的最佳实践是什么 import math print math.pi 或 导入模块导入一个对象,即模块。您可以通过点符号访问该模块的成员(例如:module.someFunc()) 从模块导入*导入模块导出的所有内容。它不导入模块,因此不能使用点表示法。例如,您可以执行myFunc(),但不能执行module.myFunc() 一般来说,不鼓励使用模块导入的*

我已经看到这两种代码在python中可以互换使用

Import module

以上两种代码的区别是什么?这意味着什么?编码效率方面的最佳实践是什么

import math
print math.pi


导入模块
导入一个对象,即模块。您可以通过点符号访问该模块的成员(例如:
module.someFunc()

从模块导入*
导入模块导出的所有内容。它不导入模块,因此不能使用点表示法。例如,您可以执行
myFunc()
,但不能执行
module.myFunc()

一般来说,不鼓励使用模块导入的
*
,因为它会污染名称空间。值得一读。这里有一段摘录:

应避免通配符导入(从导入*),因为它们 使名称空间中存在的名称不清楚,这会造成混淆 读者和许多自动化工具

import math
print math.pi
from math import *
print pi