python3.4.4怎么打代码_Python3.4里面__name和__main__的作用
在python的代码里我们经常会看到这样两个片段,__name__和__main__那么代表什么意思呢?
在这之前,我们先来了解下python文件的调用方法,主要有两种
1,直接在cmd或shell终端调用xxx.py文件
2,导入别的python文件里做为一个工具类调用
懂了上面这两个方式后,我们在理解这两个属性的作用就好理解了,其实__name__是每个模块或类里面的内置属性,__main__代表直接运行这个py文件时的标记,如果不是__main__那就说明,这个py文件,是导入到别的python代码里,昨晚工具类使用的,下面看散仙写如下的例子:
这个是测试的python文件b.py代码
def say():
print("say")
def b():
print("B")
def c():
print("C")
def d():
print("D")
if __name__=="__main__":
print("我是直接运行的")
b();
else:
print("不是直接运行!")
if __name__=="b":
print("导入模块调用了")
else:
print("其他模块")
在cmd下直接运行,打印结果如下:
在别的python代码里调用打印如下:
D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/main方法测试/p.py
不是直接运行!
其他模块
Process finished with exit code 0
下面看下如何在python的里面,测试这个区别:
class Person:
def run(self):
print("我在奔跑!")
def swimming(self):
print("我在游泳")
if __name__=="__main__":
print("Person里条用")
else:
print("oh no person!")
class Model:
def say(self):
print("我是一个model")
def p(self):
print("Model")
if __name__=="__main__":
print("Model里条用")
else:
print("oh no model!")
if __name__ =="__main__":
p=Person();
p.run();
else:
x=Model();
x.say();
打印的效果如下:
D:\python\python.exe D:/pythonide/pythonprojectworkspace/python/main方法测试/p.py
不是直接运行!
其他模块
oh no person!
oh no model!
我是一个model
Process finished with exit code 0
通过上面这个例子,我们能够看出来,在一个py文件里的多个类也是可以定义自己的__name__和__main__如果我们没有明确指定是那个类的方法,那么执行这个文件导入模块时,就会把这个py下所有定义的类__name和__main__都执行一遍。
大小: 18.6 KB
分享到:
2014-09-03 16:59
浏览 1874
评论
python3.4.4怎么打代码_Python3.4里面__name和__main__的作用相关推荐
- python3颜色代码_python3中布局背景颜色代码分析
我们想要给某个模块着重突出,以便引起大家注意的时候,通常给那个模块的背景颜色换亮一点.这种情况的操作多见于我们想要突出表格中的某个数据,或是某一项的名称. 在python3中设置布局背景颜色需要通过代 ...
- python多线程爬虫实例-Python3多线程爬虫实例讲解代码
多线程概述 多线程使得程序内部可以分出多个线程来做多件事情,充分利用CPU空闲时间,提升处理效率.python提供了两个模块来实现多线程thread 和threading ,thread 有一些缺点, ...
- python3网络爬虫代码_《Python3网络爬虫开发实战代码》
<Python3网络爬虫开发实战代码>\appium\.git\COMMIT_EDITMSG, 7 , 2017-08-15 <Python3网络爬虫开发实战代码>\appiu ...
- 在python3.x下使用如下代码: import cPickle as pk 报错
在python3.x下使用如下代码: import cPickle as pk 会报如下错误: ImportError: No module named 'cPickle' 原因:python2有cP ...
- 低代码平台在ERP软件开发中的作用
很多人认为低代码开发平台的出现颠覆了传统的软件开发模式,对软件开发行业造成冲击,其实低代码开发平台的出现只是提高了软件开发的效率,并不是要颠覆软件开发的模式.低代码平台在ERP软件开发中的作用还是比较 ...
- python3爬虫小型代码_python3简单爬虫实现代码
分享一个python实现的网络爬虫代码.转自:http://www.cnblogs.com/yes123/p/3761388.html 写了个python3的.代码非常简单就不解释了,直接贴代码. # ...
- python3打开文件的代码_Python3 对文件操作
计算机文件 在计算机系统中,以硬盘为载体存储在计算机上的信息集合称为文件.文件可以是文本文档.图片.声音.程序等多种类型.在编程时经常要对文件进行读写等操作, 从程序员的视角可以把文件理解为是连续的字 ...
- python3图片转代码_python3图片转换二进制存入mysql示例代码
python3图片转换二进制存入mysql示例代码 发布于 2014-09-29 18:00:01 | 198 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面 ...
- python3简单代码_python3实现简单汉诺塔的代码教程
python3实现简单汉诺塔的代码教程 #!/usr/bin/env python3 #_*_*_ coding: utf-8 _*_*_ #汉诺塔 # def hannuota(n,N,M): # ...
最新文章
- ssh tunnel 上网
- BZOJ 1977: [BeiJing2010组队]次小生成树(Kruskal+树上倍增)
- JAVA自动补全插件
- P3168-[CQOI2015]任务查询系统【主席树】
- [js] pjax和ajax的区别是什么?
- @SessionAttributes
- matlab 平行,MATLAB判断两条直线平行
- 数据类型转换——Python
- python 删除pdf页面_使用PyPDF2库对pdf文件进行指定页面删除操作
- STM32F103C8T6最小系统原理图和PCB
- 2021四川紧急选调/国考备考策略----申论/行测(2020.8.22号开始)
- 如何保养可让自己年轻10岁?/经常熬夜的人要怎样保养自己的身体?
- android 设置录像帧率,华为手机设置相机录像帧率的方法
- 【习题5】用Python完成新建文档写古诗+复制
- 深入了解JVM之线上问题排查及工具使用(五)
- 电脑键盘各键名称及功能是什么
- 0002数学建模的重要意义
- java时钟课程设计,Java课程设计-时钟图形模拟
- Ubuntu关于串口的操作(查看串口信息、串口助手、串口权限)
- 【C语言】日期时间转秒数
热门文章
- Spring Boot 2.0 多图片上传加回显
- 每日一皮:公司来了个程序员鼓励师...
- 强力攻城狮的职位要求...
- Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
- mysql的索引优化_MySQL索引优化与分析(重要)
- 抛出运行时异常的目的_「JAVA」运行时异常、编译时异常、自定义异常,通过案例实践转译和异常链...
- el search 查询排序
- No module named 'mxnet.gluon'
- Ubuntu 16.04 安装 miniconda
- opencv findContours 崩溃CrtDbgBreak