关于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 ...
随机推荐
- requireJs压缩合并路径问题
描述 随着前端开发的重要性,以及业务的复杂性,前端的模块化开发也被大众所接收,最常见的js框架requireJs,一个js文件对应一个模块,方便开发人员调试与维护,但是一个文件对应一个模块增加了htt ...
- Oauth2.0(一):为什么需要 Oauth2.0 协议?
假设有两家互联网企业 A 和 B,其中 B 是一家提供相片云存储的公司.即 B 的用户可以把相片上传到 B 网站上长期保存,然后可以在不同的设备上查看.某一天,A 和 B 谈成了一项合作:希望 B 用 ...
- ASCII码与16进制的互相转换(表)
所谓的ASCII和16进制都只是概念上的东西,在计算机中通通是二进制 转换应该是输出的转换,同样是一个数,在计算机内存中表示是一样的,只是输出不一样ASCII是针对字符的编码,几乎是键盘上的字符的编码 ...
- Linq与Lambda
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button ...
- 分分钟学会GCD
2014 什么是GCD Grand Central Dispatch (GCD)是异步运行任务的技术之中的一个.一般将应用程序中记述的线程管理用的代码在系统级中实现.因为线程管理是作为系统的一部分来实 ...
- actor binary tree lab4
forward 与 ! (tell) 的差异,举个例子: Main(当前actor): topNode ! Insert(requester, id=1, ele = 2) topNode: root ...
- 《NodeJs开发指南》第五章微博开发实例的中文乱码问题
在<NodeJs开发指南>第五章,按照书中的要求写好微博实例后,运行代码,发现中文显示出现乱码,原因是:views文件夹下的ejs文件的编码格式不是utf-8. 解决方法:以记事本方式打开 ...
- Linux 添用户报错:useradd:警告:此主目录已经存在
建立mysql用户.组 groupadd mysql useradd -g mysql mysql 然后删除 userdel mysql 再添用户和组加时,提示: 解决方法:删除用户不用userdel ...
- RF中采用python方法获取当月1号、上月1号、下月1号、当前日期N天后日期、当前日期N天前日期、指定月份总天数、上个月份、下个月份、当月最后1天日期、上个月最后1天日期、下个月最后1天日期
${TodayDate} evaluate datetime.date.today().strftime('%Y%m%d') datetime ${CurrentMonthFirstDay} eval ...
- Ansible 使用 Playbook 管理 Nginx 配置文件
前面我们已经安装完 Nginx,但是在日常维护中经常需要修改配置文件,并重新加载配置文件,因此来写一个管理 Nginx 配置文件的 Playbook: [root@localhost ~]$ mkdi ...