本文共 1065 字,大约阅读时间需要 3 分钟。
原则:
示例:
模块1:p1 def func(): print("哈哈哈") print("ooooo") 导入:
import p1print("*" * 10) 结果:
ooooo********** 再看第二个示例:
模块1:p1 def func(): print("哈哈哈") print("ooooo") func() 导入:
import p1print("*" * 10) 运行结果:
ooooo哈哈哈********** 问题:
在实际开发中,主程序如何避免在被导入时执行?解决方法:
使用__name__魔法方法。 __name__特性:
__name__始终为'__main__'(字符串)。__name__为文件名。示例:
模块1:p1 def run(): print("哈哈") print(__name__) run() 导入:
import p1print("*" * 10) 运行结果:
p1哈哈********** 这样可以看到,导入时__name__的值变为文件名p1。
问题解决:
如何让测试程序在被导入时不被执行?解决方法:
使用条件判断。示例:
文件名:p2 def func(): a = "小猫" b = "小狗" return f"{a}在某个不经意的时刻便爱上了{s}" % (a, b)def func1(): a = "男人" b = "女人" return f"{a} 的责任就是让 {b} 放心{s}" % (a, b) 导入:
import p2print("*" * 10) 结果:
********** 再看另一种导入方式:
import p2print(p2.func())print(p2.func1())print("*" * 10) 结果:
小猫在某个不经意的时刻便爱上了小狗男人 的责任就是让 女人 放心********** 理解了吗?
模块标准语法:
def func(): passdef func(): passdef func(): passdef func(): passdef main(): passif __name__ == "__main__": main()
转载地址:http://tdsoz.baihongyu.com/