关于python的【if __name__ == "__main__":】
学习东西真的需要自己动手,然后遇到问题,自己学着去解决。当然如果能得到高人指点,那真是走了八辈子运了。可以节省很多时间。但是大多数情况下,不能总是有高人来指点我们。这时就需要靠我们自己了。
在学习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,但是我发现怎么给我输出了这么一大坨东东。。。

然而红色框框里面才是我想要的输出,那么前面的输出是什么,感觉怎么这么熟悉呢。原来上面的输出是我在class_study文件里面的实验输出,在这里我不想输出,那么怎么办呢?
这个时候就体现了【if __name__ == "__main__":】的作用。
他的意思就是说,当你单独运行这个程序的时候,执行这句话下面的语句,当然,这句话上面的语句也会被执行,但是当其他文件引用本模块 的时候,这句话下面的语句就不会被执行了。只要 上面的功能模块。
改好之后是这个样子的:

可以看到上面的那一坨没有输出了。yes!!!
关于python的【if __name__ == "__main__":】的更多相关文章
- python 中if __name__ = '__main__' 的作用
python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...
- 【Python】if __name__ == "__main__"做了什么?
在Python的很多源文件中,会有这样的语句: if __name__ == '__main__': # script code here 比如有两个源文件A.py和B.py,都有上面的代码:在B.p ...
- python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一 ...
- python中if __name__ == '__main__'
python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: “Make a script both importable and execut ...
- Python中if __name__ == "__main__": 的作用
在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编 ...
- python基础之python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...
- FAQ: Python中if __name__ == '__main__':作用
#hello.pydef sayHello(): str="hello" print(str); if __name__ == "__main__": prin ...
- 【Python中if __name__ == '__main__': 的解析】
在很多Python代码中,在代码的最下方会看到 if __name__ == '__main__':,这段代码到底有什么用呢? 在理解这个语句的作用前,需要知道的是,一般的Python文件后缀为.p ...
- Python中if __name__=="__main__" 语句在调用多进程Process过程中的作用分析
2018年2月27日 于创B515 引言 最近准备学习一下如何使用Python中的多进程.在翻看相关书籍.网上资料时发现所有代码都含有if __name__=="__main__" ...
- Python中if __name__ == "__main__": 的理解
1.在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在pytho ...
随机推荐
- 通过Nginx反向代理,IIS和apache 共用80端口
#user nobody; worker_processes ; #error_log logs/error.log; #error_log logs/error.log notice; #error ...
- PHP对HTML代码尸体编码2个函数
1.htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体. 2.htmlentities() 函数把字符转换为 HTML 实体. 记录下
- application/x-www-form-urlencoded 的contentType,POST数据内容过大,导致tomcat的request取不到参数
如题, 可通过设置tomcat的connector的参数 server.xml中的connector中加上属性 maxPostSize="20971520" maxPostSize ...
- linux中高亮显示文本的工具 -- bat
bat 的项目地址 https://github.com/sharkdp/bat bat 是用rust 开发的, 在centos中安装bat需要rust的环境, 我们可以通过安装rust的包管理工具c ...
- 一个日志模板,从traceback打印异常受启发做的模板,可被pycharm esclip 等ide识别和跳转
之前发过日志,再增加一种模板. logging.Formatter('%(asctime)s - %(name)s - File "%(pathname)s", line %(li ...
- trim思考
今天发现后台订单商品名称没有的时候出现了HTML代码,然后看了一下源代码(下图是简化版本的) <?php $name = trim('<span style="font-weig ...
- Mybatis数据库连接报错:对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾
Mybatis数据库连接报错:对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾 ============================== 蕃薯耀 ...
- 解决select2在modal中无法输入的问题
解决办法: 在js里加一句 $.fn.modal.Constructor.prototype.enforceFocus = function(){};
- java中调用groovy
Groovy在Java中的应用,做几个小例子以备查 package com.boco.efficiency.groovy; import groovy.lang.Binding; import gro ...
- Linux下用C获取当前时间
Linux下用C获取当前时间,具体如下: 代码(可以把clock_gettime换成time(NULL)) ? 1 2 3 4 5 6 7 8 9 10 void getNowTime() { ti ...