python 文件名和函数名可以一样吗?

新手上路,请多包涵

文件名:a.py
函数:

def a():
     print "ok"

上面只是一个很简单的例子,实际碰到的更加复杂,只是为了说明问题简化下。
问题一:这种写法是否不提倡?
问题二:这种写法如果多重form a import a 是否有问题?

阅读 9.4k
2 个回答

楼上的回答提供了一种思路,补充一点是在Python中class datetime(date)是包含在datetime.py中的一个module,并不是简单的函数。
在Python中常常保持模块名与class名一致,这是正确的,也是可以的,毕竟Python都是这么做的。但是,如果文件名和函数名相同,虽然从语法上是不会出错,多重导入也不会有什么问题,然而当在一个文件中需要定义多个函数时,使用这种方法无疑是不提倡的。

问题一:Python有个非常常用的类叫datetime,它位于同名模块datetime中。所以既然Python都是这么做的,你当然也可以这么做了
问题二:我们导入问题一中的那个类的常用方式就是from datetime import datetime

推荐问题