1.首先写add_module.py程序作为一个模块:
#add_module.py
def add(a,b):
return a+b
2.再写一个add_main.py程序调用模块add_module中的函数:
情形1:
#使用from import
from add_module import add
def add(a,b):
return a+b+1
print('the outcome of add is: {0}'.format(add(12,34)))
输出结果为:
the outcome of add is: 47
情形2:
#使用from import
def add(a,b):
return a+b+1
from add_module import add
print('the outcome of add is: {0}'.format(add(12,34)))
输出结果为:
the outcome of add is: 46
可以看出,当使用from module调用的模块中的函数,与程序中的其他函数名字相同时,会形成覆盖效果,后面的函数会将前面的函数覆盖掉。而使用import的时候不会出现这种情况:
#使用import
import add_module
def add(a,b):
return a+b+1
print('the outcome of add is: {0}'.format(add_module.add(12,34)))
print('the outcome of add is: {0}'.format(add(12,34)))
输出结果:
the outcome of add is: 46
the outcome of add is: 47
本文探讨了在Python中如何创建和使用自定义模块,详细分析了不同导入方式(import与from...import)对模块内函数的影响,尤其关注函数覆盖现象,即在使用from...import时,若模块内函数名与当前作用域内的函数名相同,则后者会覆盖前者。
3016

被折叠的 条评论
为什么被折叠?



