1 self是自身的意思,不知道有没有学过其他语言,相当于this;
2 如果程序是自身在运行,它的__name__值就是"__main__";如果它作为模块被被别的程序导入的,比如:import re 那么,他的__name__就不是"__main__"了。所以,使用这个条件语句,可以使这个条件语句块中的命令只在它独立运行时才执行。
self相当于C#和C++里面的this;
if __name__ == __main__
相当于一个测试套件,
就是在当前py程序里面,验证程序的执行,
但是当其他的程序引用时,会忽略掉,这个测试程序!
self在定义类时表示自身。换成别的变量名也可以,但用self是惯例。
if __name__=='__main__'的代码块可以放置只有在程序自身运行而不是被作为模块调用时才运行的代码。