问题描述
在引用自定义模块时,出现以下问题
被引用模块:
import time #可以使用time中所有方法
from time import sleep #只能使用sleep
def time():
print("time步骤")
print("你好不好")
time.sleep(3)
print("你好不好")
def timeSleep():
print("sleep步骤")
print("你好不好")
sleep(3)
print("你好不好")
if __name__=="__main__":
i=input("请输入步骤\n")
if i==1:
time()
else:
timeSleep()
引用文件:
import module
if __name__=="__main__":
module.time()
原因分析:
主要是因为我引用的模块中的方法和time模块重名导致识别问题,这个原因还是比较容易想明白的
可以看到编辑器提示:AttributeError: 'function' object has no attribute 'sleep'
就是说方法没有sleep属性
也就是在使用module.time()时,在被引用模块module的time中time.sleep被错误识别了
这就是自定义模块可能出现的问题:重名
解决方案:
将moudle模块的time方法改名(改为time1等)