1、Object rename
# mystuff.py
def apple():
print 'I am an apple in a module!'
return
# test.py
import mystuff
mystuff = {'apple': 'I am an apple in a dictionary!'}
print mystuff['apple']
mystuff.apple() # want to call module mystuff
错误提示:AttributeError: 'dict' object has no attribute 'apple'
原因分析:导入的模块被同名字典覆盖
解决方案:
1、引入模块时使用别名。
2、将字典 mystuff 的相关操作封装到函数中。
3、延迟导入模块