【发布时间】:2017-03-03 16:37:24
【问题描述】:
目前我正在学习 Python(不是编程),我正在尝试用这种语言解决我的第一个问题。
首先我检查了import X 和from X import Y 之间的区别。我知道第一次将包加载到命名空间而不是这个包的方法,所以你需要写X.Y,另一方面,第二个导入方式将函数和对包的引用加载到命名空间。尽管如此,我还是不明白为什么import math.sqrt 会失败。我收到此错误:math is not a package。
有人知道会发生什么吗?
那我试试这个语句是怎么写的:
sum([
pow(dic1[elem]–dic2[elem], 2)
for elem in dic1 if elem in dic2
])
正如我之前所说的,我知道编程并且理解它在做什么,但这对我来说似乎有点不合逻辑,因为 python 读取脚本的方向似乎与“典型”语言不同。
如果我没记错的话,这个语句将两个字典中元素之间的所有差异相加(动力为 2),但只有当它执行以 dic2 中存在 elem 为条件的 for 语句时才进行求和。
这对吗?
谢谢!
【问题讨论】:
-
见stackoverflow.com/q/16341775/476。如果您一次只问一个问题,我们可能已经将其作为重复问题删除了。
-
尝试
import math; math.__file__与import xml; xml.__file__。math是用 C 而不是 Python 实现的,因此可能有不同的导入行为。
标签: python