设为首页 收藏本站
查看: 975|回复: 0

[经验分享] 运行执行Python 学习手册 第一部分 基础篇 运行执行

[复制链接]

尚未签到

发表于 2017-5-6 09:42:05 | 显示全部楼层 |阅读模式
  这两天笔者几篇文章分析了改运行执行的文章. 关联文章的地址
  Python 脚本通《Learning Python》  分析Python
  《Programming Python》  做什么 --> Web GUI Database
  《Python Pocket Reference》  外额资料
  Python 2.X 过渡到 Python 3.X  Python 3 是来未的发展方向
   
   
  第一部份  应用入门
   
  第一章  问答
   
  软件质量高
  致力于可读性,具有比传统脚本言语更加优良的可重用性和可维护性。
  开辟者效率高
  巨细只有C++或是Java的1/5 -- 1/3,解释行,可以当即运行,无需传统所必须的译编以及接链等步调。
  可移植性好
  绝大多数不做任何变改便可在全部主流计算机台平上运行。Python供提了多种可选的立独程序,括包用户图形界面、数据库接入、基于Web的统系等。
  准标库持支
  涵盖了从字符式模到网络脚本式模的匹配;第三方持支具工括包网站开辟、数值计算、口串写读、游戏开辟等各个方面。
  件组成集
  通过活灵的成集制机松轻地与应用程序其他部份停止通信。是Python成为产品定制和拓展具工。可以调用C和C++的库,也可被C和C++等调用,与Java件组成集,与COM和.NET停止通信,通过SOAP、XML-RPC和CORBA等口接与网络停止交互。
  受享趣乐
  免避繁琐、受享趣乐。
   
  缺憾
  执行速度不够快
  源代码语句 à 译编 /转换 à 节字码 à 解释执行
   
  长处
  面向对象
  free(开源)
  可移植
  功能大强 动态类型 主动内存理管 大型程序持支 置内对象持支 置内具工 库具工
  第三方具工
  可混合 Python  C  C++
  单简易用 “可执行的伪代码” 单简易学
   
  第二章 Python 如何运行程序
   
  Python 解释器简介
  解释器:代码与器机在计算机硬件之间的软件逻辑层。
  型典:
  print('hello world')// print("hello world") 也建立
  print(2**100)

   DSC0000.jpg
  部内机理:
  (1)       源程序执行 *.py
  (2)       Python 部内将源代码转换成为节字码 *.pyc
  保存节字码文件,作为启动速度的优化,再次执行源代码,检查时间戳,若为变动,则直接加载 *.pyc,跳过译编。
  若Python法无在器机上入写节字码,节字码将会在内存中生成,执行结束后单简弃丢。
  (3)       *.pyc文件发送到Python虚拟机中(PVM),PVM只是一个代迭运行节字码令指的大循环,是Python的运行擎引,是运行际实脚本的件组,是所谓“Python解释器”的最后一步。
   
  纯Python的运行速度介于传统的译编言语和传统的解释言语之间,Python全部的事件都是产生在运行时的,是有动态的。
   
  Python的实现:
  (1)       CPython
  准标的Python实现方法;运行速度最快、最整完、最健全。
  预装的、以及从http://www.python.org上取得的基本都是CPython。
  (2)       JPython
  为了与Java编程言语成集;JPython包含了Java类,这些类译编Python源代码,成形Java节字码,映射到Java虚拟机上(JVM)。
  目标是让Python代码脚本化Java应用程序,实现与Java的无缝成集。
  (3)       IronPython
  目标是Python可以与windows 台平上的 .NET 框架以及对应的 Linux 上开源的Mono编写成的应用相成集,既可作为服务器端,也可作为客户端上的件组。
  即将Python源代码转换成  .NET 对应的等效执行环境。
   
  执行优化具工:
  Psyco:拓展节字码执行模块的件组,是PVM的增强具工,将部份节字码转换成底层的真正的二进制器机代码,让程序运行的更快。
  持支到 Python2.7,现已由 PyPy 替代;http://zh.wikipedia.org/wiki/PyPy
  PyPy做到了Psyco曾未实现的动态译编。
   
  Shedskin C++ 转换器:实验将Python代码转换成为 C++代码,用采器机中的C++译编器将其译编成器机代码。是仍一个试验性项目!
   
  结冻二进制文件(Frozen Binary)
  结冻二进制文件 à 将Python 转换为可立独执行的二进制代码文件
  结冻二进制文件将程序的节字码、PVM、以及任何程序所须要的Python持支文件捆绑在一起成形一个独自的文件包。
  三种够能生成结冻二进制文件的统系:py2exe(Windows)、PyInstaller(Linux 及 UNIX,够能生成自安装的二进制文件)、freeze(最初始的版本)。都是收费的,可以自己取得。
  参考:http://www.python.org 以及 http://www.vex.net/parnassus/
  结冻二进制文件与实在译编出输结果有所不同:他们通过虚拟机运行节字码。也就是说如果离开了必要的初始进改,结冻二进制文件与最初的源代码执行速度是雷同的。
   
  其他执行计划:
  Stackless Python: 准标CPython实现的一个变体,不会在C言语调用栈上保存状态。
    每日一道理
微笑,是春天里的一丝新绿,是秋日里的一缕阳光,是骄阳下的一片浓荫,是冬雪中的一株梅红……微笑着去面对吧,你会感到人生是那样的温馨与甜蜜!
  Cython:它为Python代码合结了调用C函数以及应用变量、数参和类性属的C类型声明的能力。
   
  第三章 运行程序
   
  交互示提式模下编写代码
DSC0001.jpg

  退出:UNIX  : ctrl-D           Mac OS / Windows : ctrl-Z
  不能在交互式模中编写量大的代码,且其不会保存在文本文件中,合适验体言语。
  可以用采交互式模试验不懂的语法、测试程序件组!
  问题:
  (1)       只够能输入Python令命;
  (2)       在文件中印打语句print是必须的,在交互式模下不须要;
  (3)       前目,交互式模下不须要缩进;
  (4)       意留示提符的变换和复合语句; Ctrl-C 返回主式模
  (5)       用一个空行结束复合语句;按下Enter键两次。
  (6)       交互式模下一次运行一条语句。
   
  脚本文件、令命行式模运行文件
  Windows下:
  切换到脚本文件地点录目,执行脚本;
  (1)       若已修改Path值,则直接令命执行
   (2)       若为修改,则须要输入安装Python的整完路径
  与Java同!
    DSC0002.jpg
  安装录目在C:\python30\; 
   DSC0003.jpg
  安装录目在C:\python30\; 脚本录目在:C:\code\
    DSC0004.jpg
  由于新的Windows统系应用注册表够能找到响应的执行程序,所以可以省略Python令命。
   DSC0005.jpg  
  Windows 击双脚本文件,可直接运行,或许不会看到印打的出输或是错误的示提,会一闪而过,须要调整!
  在脚本面后加上 input() ,确正的执行脚本便可长久留停;Enter键退出。
   
  UNIX下可执行脚本(#!)
  两个征特
  (1)       第一行是特定的;常常以 #! 开始;
  (2)       常常都有拥可执行的权限; chmod+x file.py 实现;
   
  模块的导入与重载
  导入:
    DSC0006.jpg
  一次导入后,再次导入则不会再任务:
    DSC0007.jpg
  重载:
    DSC0008.jpg
  模块与命名空间
  模块式Python程序最大的程序结构,导入是一种有效的运行代码的方法;
  个一每模块式一个立独整完的变量包,即一个命名空间。
  Import 与 reload是一种用常的测试方法;不提议应用其启动程序;
   
  exec运行模块文件
  免避导入模块以及重载;
    DSC0009.jpg
  缺陷:
  由于exec相当于将代码粘贴到调用它的代码处,对前当正在应用的变量有潜伏的认默覆盖的可能;
    DSC00010.jpg
  IDLE 用户界面(提议初学者应用!!)
  够能辑编、运行、浏览和调试Python程序的GUI;
  Windows 下开始菜单内即有,安装录目下同;
  UNIX下在令命行中启动IDLE顶层脚本。
   
  可用替代品IDE:
  Eclipse和PyDev插件:行流的、大强的;
  Komodo:http://www.activestate.com 载下,非收费;
  NetBeans IDE Python:大强;
  PythonWin:Free,只局限于Windows台平;可从http://www.python.org 上取得;
  Google 搜索 “Python editors” Wiki界面上有分析;
   
  入嵌式调用:
  Python代买入嵌到C 、Java等代码中执行;
  结冻二进制文件执行:
  运行单个可执行的包;
  文本辑编器启动:
  http://www.python.org/editors
   
  调试提议:
  print语句、pdb单步执行、应用IDE GUI调试器等;
  文章结束给大家分享下程序员的一些笑话语录: 据说有一位软件工程师,一位硬件工程师和一位项目经理同坐车参加研讨会。不幸在从盘山公路下山时坏在半路上了。于是两位工程师和一位经理就如何修车的问题展开了讨论。
硬件工程师说:“我可以用随身携带的瑞士军刀把车坏的部分拆下来,找出原因,排除故障。”
项目经理说:“根据经营管理学,应该召开会议,根据问题现状写出需求报告,制订计划,编写日程安排,逐步逼近,alpha测试,beta1测试和beta2测试解决问题。”
软件工程说:“咱们还是应该把车推回山顶再开下来,看看问题是否重复发生。”

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-373644-1-1.html 上篇帖子: Nuxeo公司探秘:从Python迁移到Java 下篇帖子: [转][RabbitMQ+Python入门经典] 兔子和兔子窝
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表