python是否读取脚本与其他语言不同?
目前我正在学习Python的(而不是编程),我试图解决我的第一个问题,这种语言。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
])
正如我告诉我才知道规划,我知道它在做什么,但它似乎对我来说有点不合逻辑,因为似乎蟒蛇读取脚本的方向与“典型”语言不同。
如果我没有错,这句话总结了两个词典中的元素之间的所有差异(动力2),但只有在for语句的条件是dic2存在elem时才做总和。
这是正确的吗?
谢谢!
关于第一个问题,请尝试:
from math import sqrt
到你的第二个问题,是的,蟒蛇似乎做的事情在一个奇怪的命令,如果你是从其他语言。例如:
x=1 if a=2 else 0
这是相同的话说:
if a=2:
x=1
else:
x=0
,如果你这样做:
x=[i*2 for i in [1,2,3,4]]
它意味着使每一个元素的变量i列表中的[ 1,2,3,4],乘以2并从结果中创建一个新列表。所以在上面的例子中x是:
[2,4,6,8]
基本上,你会习惯它。
感谢您的回答。第一部作品,但我想了解导入数学失败的原因。 你的第二个答案是完美的!谢谢! – Maik
见http://stackoverflow.com/q/16341775/476。如果您应该一次询问一个问题,那么我们可能已经将其作为一个副本过滤掉了。 – deceze
尝试'输入数学;数学.__ file__'与'import xml; XML .__ file__'。 “数学”是用C实现的,而不是Python,因此可能会有不同的导入行为。 –