为什么python在导入我自己的模块后显示'In:'

时间:2016-01-25 02:20:32

标签: python python-3.5

我试图在Python 3.5中导入我自己的模块。在导入之前,我将路径添加到sys.path中,但仍然存在“In:”。 'In'后我应该输入什么?我已经尝试输入路径,但它没有用。

enter image description here

这是我模块的代码。这是一个简单的测试,我只是想学习如何在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',但似乎不对......

1 个答案:

答案 0 :(得分:2)

您的模块已导入。但是,只有在直接运行模块时,if __name__=="__main__"块中的代码才会在导入模块时运行。 (这是if __name__=="__main__"块的目的。)因此,导入模块并没有做任何明显的事情;它加载了你的功能,但没有调用它。

由于您似乎正在使用IPython,因此您可以使用%run magic命令按照here所述运行您的文件。

如果您以交互方式工作,通常只需导入文件然后从交互式shell中使用它。例如,在导入之后,您现在可以mymath.prod([1, 2, 3, 4, 5, 6])来调用您的函数,就像使用任何普通的库模块一样。