为什么导入我自己的模块后 python 显示 'In:'
Why python show 'In:' after import my own module
我试图在 Python 3.5 中导入我自己的模块。在导入之前,我将路径添加到 sys.path,但仍然存在 'In:'。 'In'后应该输入什么?我试过输入路径,但是不行。
这是我的模块的代码。这是一个简单的测试,我只是想学习如何在 Python.
中导入自己的模块
import ipdb
'list mulitiple'
def prod(l):
length = len(l)
if length == 1:
return l[1]
else:
result = 1
for i in l:
result *= i
return result
if __name__ == '__main__':
l = [1,2,3,4,5,6]
print(prod(l))
如果你也能帮我永久添加 pythonpath,那就太好了。我在系统路径中更改了'pythonpath',但似乎不对...
您的模块已导入。但是 if __name__=="__main__"
块中的代码不会 运行 当你的模块被导入时,只有当你直接 运行 模块时。 (这就是 if __name__=="__main__"
块的目的。)所以导入你的模块并没有做任何明显的事情;它加载了您的函数但没有调用它。
因为看起来您正在使用 IPython,您可以使用 %run
魔术命令 运行 您的文件,如 here 所述。
如果您正在交互式工作,通常您宁愿只导入您的文件,然后从交互式 shell 中使用它。例如,在导入它之后,您现在可以 mymath.prod([1, 2, 3, 4, 5, 6])
调用您的函数,就像使用任何普通库模块一样。
我试图在 Python 3.5 中导入我自己的模块。在导入之前,我将路径添加到 sys.path,但仍然存在 'In:'。 'In'后应该输入什么?我试过输入路径,但是不行。
这是我的模块的代码。这是一个简单的测试,我只是想学习如何在 Python.
中导入自己的模块import ipdb
'list mulitiple'
def prod(l):
length = len(l)
if length == 1:
return l[1]
else:
result = 1
for i in l:
result *= i
return result
if __name__ == '__main__':
l = [1,2,3,4,5,6]
print(prod(l))
如果你也能帮我永久添加 pythonpath,那就太好了。我在系统路径中更改了'pythonpath',但似乎不对...
您的模块已导入。但是 if __name__=="__main__"
块中的代码不会 运行 当你的模块被导入时,只有当你直接 运行 模块时。 (这就是 if __name__=="__main__"
块的目的。)所以导入你的模块并没有做任何明显的事情;它加载了您的函数但没有调用它。
因为看起来您正在使用 IPython,您可以使用 %run
魔术命令 运行 您的文件,如 here 所述。
如果您正在交互式工作,通常您宁愿只导入您的文件,然后从交互式 shell 中使用它。例如,在导入它之后,您现在可以 mymath.prod([1, 2, 3, 4, 5, 6])
调用您的函数,就像使用任何普通库模块一样。