本文共 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/