python文件執行方式:
1.作為腳本直接執行。
2.import到其他的python腳本中被調用執行。
因此,if __name__ == '__main__':作用就是控制這兩種情況執行代碼的過程。
1)如果作為腳本直接運行,那么if __name__ == '__main__':語句之前和之后的代碼都會被執行;
2)如何作為模塊被調用,那么只會執行if __name__ == '__main__':語句之前的代碼;
運行原理:
每個python文件都會包含內置的變量__name__,當該模塊當做腳本直接執行時,__name__等於‘__main__’,如果該模塊import到其他模塊或者文件中時,則該模塊的__name__等於模塊名稱(不包含后綴.py)。
"__main__"始終指當前執行模塊的名稱(包含后綴.py)。
def qqxing(): print('qqxing') year = 2018 import sys print(sys.modules['__main__'].qqxing()) print('__name__:',__name__) if __name__ == '__main__': print('123')