程序变量的作用
变量不单单充当了存储数据的功,也能充当if中判断语句
我写的代码不多,之前总是认为变量是用于记录数据的就比如:
int a = 123;
随后程序就会对变量 a 的数据进行一些数据上的操作。这里变量名起到了引用数据的作用。
在我写python的时候碰见了这样的代码:
if __name__ == '__main__':
--snip--
这段代码的意思是当变量为 __main__ 的时候就执行 if 内部的代码,这是为了方便该文件充当主文件时能够进行的操作,因为只有当该文件以直接运行的时候此时 __name__ 中的变量值就会改为 __main__。
从中可以看出这个 __name__ 变量内容配合上if起到了对文件内容执行 分流 的操作。
这种写法很巧妙,对我而言好像是一种编程方法,我记录一下我对为什么要这么写的理解:
python是一个脚本语言,每一个文件都能充当程序的入口,好处是更加灵活了,坏处也是太灵活了,以至于当多个文件组成的时候,作为模块的python文件也会发挥范围外的功能,这就有了针对python文件指定什么时候充当main什么时候充当模块的需求。
做法是将各个python文件中与身为主程序运行运行的代码拎出来,然后将其放在一个 if 判断中,这样只有当符合if判断(用于判断该文件是否是主程序运行)时才会运行该文件中升为主程序的代码。
__name__ 是每个python文件的属性变量,当 __name__ 是 __main__ 表明此时该文件是以主程序运行的,是模块的话此时值是模块的文件名。
是 main 则表示当前文件是以主程序方式运行的。
这样程序的整体运行是:
A 文件以程序入口运行,此时不同于程序中的其他文件,A 文件中的 __name__ 值是 __main__,符合 if 中的判断,执行身为主程序的代码。

浙公网安备 33010602011771号