python介绍——优缺点/实现/运行/导入模块

Python创始者Guido van Rossum。Python拥有一个开发社区,它进行版本的更新和开发改进。修改需要遵守PEP协议并且经过python的扩展回归测试系统。非正式组织PSF负责组织会议并处理知识产权的问题。目前O'Reily的OSCON和PSF的PyCon是python领域最大的会议。


Python可以定义为面向对象的脚本语言,也是一个名为解释器的软件包。解释器是让程序运行起来的程序,编写的Python程序必须在解释器中运行。

  优点:
Python致力于开发速度的最优化:简介的语法、动态类型、无需编译链接、内置工具包等特性。
Python语法简洁并且可读性强。
可移植性强:Linux, Windows, DOS, Mac OS.
Python脚本可通过集成机制和应用程序的其他部分进行通信。Python代码可以调用C和C++的库,也可以调用Matlab程序(通过shell命令执行matlab函数),可以被C和C++的程序调用,可以与Java组件集成,可以与COM和.NET等框架进行通信,并可以通过SOAP、XML_RPC和CORBA等接口与网络进行通信。
 缺点:
执行速度不够快。Python的标准实现方式是通过编译代码,把代码转换成字节码的形式,然后再把字节码解释出来。但是Python没有把代码编译成底层的二进制代码,所以Python会比C这样的完全编译语言慢一些。Python语言有三种主要实现方式:CPython, Jython, IronPython,都用于实现Python语言,只是通过不同的形式执行程序。Cpython由ANSI C语言代码编写而成,运行速度最快、最完整而且最健全。Jython目的是为了与Java编程语言集成,是Python语言的Java实现。IronPython主要为了满足在.NET组建中集成Python的开发者,是Python语言的.NET实现。

但是Python也是可以用于实际应用产品的,比如YouTube视频分享服务大部分是由Python编写的;Eve Online多人网络游戏广泛地使用Python;iRobot使用Python开发了商业机器人真空吸尘器;Intel、Cisco和IBM使用Python进行硬件测试。



python怎么运行程序?首先把源文件翻译成字节码,储存在.pyc文件中;字节码发送到PVM上执行,PVM就是迭代运行字节码指令的一个大循环。
在交互提示模式下执行代码的时候,可以键入quit()或者以快捷键Ctrl+D退出到系统shell提示模式。

如果想要让Python程序生成独立的可执行二进制代码,需要知道冻结二进制文件。冻结二进制文件能够将程序的字节码、PVM以及任何程序所需要的Python支持文件捆绑在一起形成一个独立的文件包,类似于Windows系统中的.exe,这样使用者并不需要安装Python来运行这些冻结二进制文件。Windows下的py2exe, Linux下的PyInstaller可以用来生成冻结二进制文件。



为了永久保存程序,需要在文件中写入代码,这个文件通常叫做模块。可以直接运行的模块文件往往也叫做 脚本。运行脚本有多种方式:命令行、导入模块、双击图标、IDLE等GUI等常见方式。下面列出几点有专门用途的运行python代码的方法:

    嵌入式调用:python程序嵌入在其他程序中运行。


UNIX可执行脚本(#!)
在UNIX系统上使用python,可以把Python代码编程为可执行程序,这样的脚本往往叫做可执行脚本。UNIX风格的可执行脚本和一般python脚本的区别在于:
    第一行是特定的:#!,后面跟着计算机上python解释器的路径,比如#!/usr/local/bin/python,操作系统会使用它找到解释器运行文件其他部分的程序
    拥有可执行的权限:UNIX上可以使用chmod +x file.py赋予可执行权限
另外创建的脚本名可以不加.py后缀(加上也没关系),因为这个文件中的代码并不打算被其他模块所导入,所以这个不加.py是没关系的。可以在shell中运行它:
    $file

如果不想硬编码python解释器的路径,可以使用env查找:#!/usr/bin/env python。env程序可以通过系统的搜索路径定位python解释器。   

   


导入模块:
从一般意义上来说,模块往往就是变量名的封装,被认为是命名空间。在一个包中的变量名就认为是属性。一个模块文件的变量名可以通过两个python语句读取——import和from以及reload.
当文件导入时,它的代码运行并生成模块的属性。可以通过两种方法获得模块的属性:
    import module :将模块作为一个整体载入
    from module import variable_name:复制模块的属性
内置函数dir()可以返回模块内部的可用的变量名的列表:dir(module)。
python程序往往由多个模块构成,通过import语句连接在一起。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值