lam*_*988 2 python eclipse pydev
我刚刚制作了一份eclipse的新副本并安装了pydev.
在我第一次尝试使用eclipse中的pydev时,我在src包下创建了2个模块(默认的一个)
FirstModule.py:
'''
Created on 18.06.2009
@author: Lars Vogel
'''
def add(a,b):
return a+b
def addFixedValue(a):
y = 5
return y +a
print "123"
Run Code Online (Sandbox Code Playgroud)
run.py:
'''
Created on Jun 20, 2011
@author: Raymond.Yeung
'''
from FirstModule import add
print add(1,2)
print "Helloword"
Run Code Online (Sandbox Code Playgroud)
当我拉出运行按钮的下拉菜单,然后单击"ProjectName run.py"时,结果如下:
123
3
Helloword
Run Code Online (Sandbox Code Playgroud)
显然这两个模块都运行了,为什么?这是默认设置吗?
Lau*_*low 10
导入模块时,其中的所有内容都是"运行".这意味着创建了类和函数对象,设置了全局变量,并执行了print语句.*)
通常的做法是封装仅在模块直接在if-block中运行时执行的语句,例如:
if __name__ == "__main__":
print "123"
Run Code Online (Sandbox Code Playgroud)
现在,如果您将模块作为脚本运行,__name__则设置为"__main__",因此"123"将打印.但是,如果你从其他地方导入模块__name__将是 "FirstModule"你的情况,而不是"__main__",所以块中的任何内容都不会被执行.
*)请注意,如果再次导入同一模块,则不会再次"运行".Python会跟踪导入的模块,并且第二次重新使用已导入的模块.这使得C/C++技巧就像使用IFNDEF语句封装头文件体一样,以确保只在python中不需要导入头.