python是一种解释型脚本语言,和C/C++语言不同,C/C++程序从main函数开始执行,python程序从开始到结尾顺序执行。先总结下python中的main函数的作用:让模块(函数)可以自己单独执行(调试),相当于构造了调用其它函数的入口,这就类似于C/C++里面的main函数了。

一方面:我们想要自己单独执行(调试)

这里我们实际调试一下(假设这个文件是test.py):

#test.py
print('Hello World!')def aaa():print('this message is from aaa  function')def main():print('this message is from main function')if __name__ == '__main__':main()print ('now __name__ is %s' %__name__)

执行python test.py  输出:

Hello World!
this message is from main function
now __name__ is __main__

这里我们看到我们定义的aaa函数没有被执行,而main函数里面的内容被执行了,表明 if __name__ == '__main__': 这条判断语句是通过的,执行了判断条件里的main();

另一方面:通过import命令就可以使用其它.py文件里面的函数,我们将test.py中的模块(函数)导入call.py,需注意test.py和call.py放在同一个文件夹下;

#call.py
from test import aaa
aaa()
print ('now __name__ is %s' %__name__)

执行python  call.py  输出:

Hello World!
this message is from aaa  function
now __name__ is __main__

所以当我们自己写了.py文件,想要测试里面的函数时,就这样构造一个main函数入口就可以调用测试自己写的函数啦~


补充:test2.py

print('Hello World!')
def aaa():print('this message is from aaa  function')
def main():print('this message is from main function')
main()
aaa()

输出:

Hello World!
this message is from main function
this message is from aaa  function

实际上这样也可以直接调试,test2.py同样可以直接被其它模块调用,所以python里面mian的设置有些鸡肋? --》 不是的,当在call.py中执行 from test import aaa  这条命令时,仍然会执行 main()函数里面的内容,所以  if '__name__' == '__main__':  是有作用的

python中的main函数相关推荐

  1. 浅析Python中的main函数

    Python作为一门较为灵活的解释型脚本语言,其中定义的main()函数只有当该Python脚本直接作为执行程序时才会执行: 当该python脚本被作为模块(module)引入(import)时,其中 ...

  2. python打印时间_在Python中定义Main函数(第二部分)

    Main函数的最佳实践 既然您已经了解两种执行方式上的差异,那么掌握一些最佳实践方案还是很有用的.它们将适用于编写作为脚本运行的代码或者在另一个模块导入的代码. 如下是四种实践方式: 将大部分代码放入 ...

  3. import是引进外部函数吗_你必须要知道的Python中的main函数

    在很多开发语言中,都有一个叫做mian的主函数,这个函数一般都是程序的入口,当程序启动时,首先执行这个函数. 比如C#语言中的main函数长这个样子. static void Main(string[ ...

  4. python中的main函数可以被其他文件调用么_Python中在脚本中引用其他文件函数的实现方法...

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和 ...

  5. python中的main函数可以被其他文件调用么_在Python中,如何在另一个py文件的[if\u name\uuuu='\uu main\uu']中调用子例程?...

    你不能"调用它的主函数",因为它没有主函数. 事实上,通常的处理方法是将所有这些代码移到一个函数中,然后使 __main__ 警戒代码就是这么叫的: def main(args): ...

  6. Python笔记:Python中的main函数

    def printStr(x): ''' 打印字符串'''print(x) if__name__=="__main__":print("hello,world" ...

  7. 浅析python中的main函数_浅的意思

    字: 浅 简解: 浅 (淺) qiǎn 从表面到底或外面到里面距离小的,与"深"相对:深浅.浅滩.浅海.屋子进深浅. 不久,时间短:年代浅. 程度不深的:这篇文章很浅.浅薄.浅尝. ...

  8. Python 为什么没有 main 函数?为什么我不推荐写 main 函数?

    毫无疑问 Python 中没有所谓的 main 入口函数,但是网上经常看到一些文章提"Python 的 main 函数"."建议写 main 函数"-- 有些人 ...

  9. python中以下关于列表描述错误的_在Python中,以下关于函数的描述错误的是哪一项?...

    [判断题]Python内置函数len____可以返回列表.元组.字典.集合.字符串以及range对象中元素个数. [判断题]Python内置函数max____用来返回序列中的最大元素. [判断题]Py ...

  10. python中的pop()函数和popleft()函数

    python中的pop()函数和popleft()函数 首先对于pop而言,它是用于stack中的: stack = [1, 2, 3, 4] print(stack) stack.append(6) ...

最新文章

  1. 还在用Jenkins?试试Gitlab的CI/CD功能吧,贼带劲!
  2. Windows Store App JavaScript 开发:小球运动示例
  3. centos7 下安装mysql5.7
  4. 使用UIImageView实现图像拖动、缩放等
  5. 物联网带来的安全梦魇
  6. 数据结构与算法笔记总结
  7. mysql中存储过程和函数区别
  8. 使用APP inventor来制作一个属于自己的蓝牙串口软件
  9. 股市投资必修课十九---DCF三要素经营存续期、现金创造力、经营周期定位
  10. Word参考文献设置-尾注后添加致谢等内容
  11. 三星android5.0基带,三星手机刷入基带详细图文操作教程
  12. Create user中采用externally操作系统认证方式详解
  13. 【Android安全】手机Root、刷机、救砖常用命令
  14. MATLAB中求某个函数的积分并绘图
  15. C# thread和delegate lambda函数结合的一段code
  16. 网络设备的MAC地址
  17. 【QT】Qtcreator常用快捷键
  18. SMTP邮件postfix
  19. HTTP post 上传
  20. 华为机试题练习(1)

热门文章

  1. 学习日记-wps表格 工资条的制作
  2. 用友凭证打印页面边距设置会同步
  3. Python入门学习笔记(三)
  4. fortran程序设计2011年注册电气工程师基础考试大纲3
  5. 希捷服务器硬盘15k有几代,1.5万转 希捷15K.7系列600G硬盘首测
  6. docker容器网络通信原理分析
  7. 百度网盘下载加速器--ENFI下载器、Speedkoala、PanDownload、SpeedPan
  8. 媒体播放器之:TCPMP播放器简介
  9. 基于java的cad_基于JavaCAD架构的安全性与IP保护研究
  10. 基于51单片机的智能温控风扇设计