关于python的【if __name__ == "__main__":】

时间:2023-12-13 16:26:14

学习东西真的需要自己动手,然后遇到问题,自己学着去解决。当然如果能得到高人指点,那真是走了八辈子运了。可以节省很多时间。但是大多数情况下,不能总是有高人来指点我们。这时就需要靠我们自己了。

在学习python 的关于对象编程的时候,就解决了一个以前很久没有解决的问题。之前也 一直在查资料,但是看来看去,自己没有真实的体会 ,还真是很难感觉到他的作用。

问题就是很多python程序里面都有这句话:if __name__ == "__main__":

其实当你写一个小程序的时候,这句话根本有没什么作用,所以有时候我们摸不着头脑,我写这句话到底干嘛啊。所以慢慢的学着学着,你开始写了两个文件的程序,一个文件调用另一个文件中的模块,这样可以节省我们的开发时间,就像这样:

import class_study  #从其他文件中导入基类

class people_1(class_study.man):

    def __init__(self,name,age1):
class_study.man.__init__(self,name) #注意引用的格式
self.name = name
self.age1 = age1 tom = people_1('tom',23)
print tom.gender,tom.name,tom.age1

这段代码,我 引用了class_study文件里面的man类,然后继承他,写完之后,我只想输出他的gender和name,age1,但是我发现怎么给我输出了这么一大坨东东。。。

关于python的【if __name__ == "__main__":】

然而红色框框里面才是我想要的输出,那么前面的输出是什么,感觉怎么这么熟悉呢。原来上面的输出是我在class_study文件里面的实验输出,在这里我不想输出,那么怎么办呢?

这个时候就体现了【if __name__ == "__main__":】的作用。

他的意思就是说,当你单独运行这个程序的时候,执行这句话下面的语句,当然,这句话上面的语句也会被执行,但是当其他文件引用本模块 的时候,这句话下面的语句就不会被执行了。只要 上面的功能模块。

改好之后是这个样子的:

关于python的【if __name__ == "__main__":】

可以看到上面的那一坨没有输出了。yes!!!