自学了很久的python,水平一直不上不下,很恼火。所以现在打算整理一下自己大脑中关于python的内存。
if __name__=='__main__':print(file_size(100,false))print(file_size(100))
这段代码是我在pycharm中敲出来的,刚开始并不明白它的意思是什么。后来问了度娘之后,明白了其中的奥秘。
看到if语句,有点编程基础的人都应该知道这是一个判断语句,当if后面的值未true时,后面的代码块才会被执行。反之则不会。
__name__代表当前文件的名字,__main__代表的是当前被执行的文件的名字。
下面看一个简单的例子,来做一下说明。
直接新建一个test.py文件,输入如下代码:
print ('i'm the first.')
if __name__=='__main__':
print ('i'm the second.')
直接执行test.py文件的结果如下:
可以看到两个print语句均被执行。
下面在同一个文件夹中新建import_test.py文件
只在文件中输入:import test
然后执行import_test.py文件,执行结果如下:
可以看到第二个print语句并咩有被执行。所以我们可以判断此时 __name__=='__main__':结果为false。那是因为在import_test.py文件中的__name__==import_test(没有包含后缀名),而__main__==import_test.py(包含后缀名),所以在import之后,if语句之后的print方法没有被执行。
如果看文字觉得太绕的话,我们可以在test.py文件中将__name__的值打印出来,大家看一下:
运行结果显示 __name__==__main__,所以在test.py文件中if语句后的print语句页被执行了。
同样,再执行import_test.py文件,可以看到输出结果如下:
此时__name__==test,if __name__=='__main__':结果为false所以在执行import_test.py文件时,if语句之后的print函数并咩有被执行。