运行执行Python 学习手册 第一部分 基础篇 运行执行

这两天笔者几篇文章分析了改运行执行的文章. 关联文章的地址

    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)

 

    

 

    部内机理:

    (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类型声明的能力。

     

    第三章 运行程序

     

    交互示提式模下编写代码

    

    退出: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同!

     

    安装录目在C:\python30\; 

    

    安装录目在C:\python30\; 脚本录目在:C:\code\

     

    由于新的Windows统系应用注册表够能找到响应的执行程序,所以可以省略Python令命。

     

    Windows 击双脚本文件,可直接运行,或许不会看到印打的出输或是错误的示提,会一闪而过,须要调整!

    在脚本面后加上 input() ,确正的执行脚本便可长久留停;Enter键退出。

     

    UNIX下可执行脚本(#!)

    两个征特

    (1)       第一行是特定的;常常以 #! 开始;

    (2)       常常都有拥可执行的权限; chmod+x file.py 实现;

     

    模块的导入与重载

    导入:

     

    一次导入后,再次导入则不会再任务:

     

    重载:

     

    模块与命名空间

    模块式Python程序最大的程序结构,导入是一种有效的运行代码的方法;

    个一每模块式一个立独整完的变量包,即一个命名空间。

    Import 与 reload是一种用常的测试方法;不提议应用其启动程序;

     

    exec运行模块文件

    免避导入模块以及重载;

     

    缺陷:

    由于exec相当于将代码粘贴到调用它的代码处,对前当正在应用的变量有潜伏的认默覆盖的可能;

     

 

    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测试解决问题。”
软件工程说:“咱们还是应该把车推回山顶再开下来,看看问题是否重复发生。”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值