python语言及特性

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

截至2017年6月TIOBE编程语言排行,python已上升到第四位

编译型、解释型和混合型

类型:编译型
机制:编译器将源代码编译生成机器码,再由机器运行机器码(二进制)
优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好
缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行
语言:C/C++、Pascal/Object Pascal、Delphi等
应用:操作系统、大型应用程序、数据库系统等

类型:解释型
机制:程序不需要编译,程序在运行时由解释器翻译成机器码,每执行一次都要翻译一次
优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行
缺点:运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低
语言:JavaScript、VBScript、Perl、Python、Ruby、MATLAB 等
应用:网页脚本、服务器脚本及辅助开发接口等

类型:混合型
机制:提供了中间语言运行库运行中间码,中间语言运行库类似于Java虚拟机,运行时由JIT在编译成机器码缓存在内存中,下次直接执行
语言:java、C#
应用:网页脚本、服务器脚本及辅助开发接口等

动态类型:在运行期间才进行数据类型进行检查的语言,编写程序时不需要给任何变量指定数据类型(python)

静态类型:静态类型语言的数据类型是在编译其间确定的或者说运行之前确定的,编写代码的时候要明确确定变量的数据类型

强类型:强类型语言,一旦一个变量被指定了某个数据类型,如果不经过强制类型转换,那么它就永远是这个数据类型。不能把一个整形变量当成一个字符串来处理

弱类型:数据类型可以被忽略,一个变量可以赋不同数据类型的值。一旦给一个整型变量a赋一个字符串值,那么a就变成字符类型(python)

python优点:
1、简单易懂
2、开发效率高
3、高级语言
4、可移植性
5、可扩展性
6、可嵌入性

python缺点:
1、速度慢
2、代码不能加密
3、线程不能利用多核CPU问题

python解释器:用于解释执行.py文件的程序

常用python解释器:
cpython:(官方自带、linux默认)
Ipython:基于cpython之上的交互式解释器
pypy:采用JIT技术,对python代码进行动态编译(不是解释),可显著提高python代码的执行速度
Jpython:可解释成java字节码执行
Ironpython:可把python代码解释成.NET字节码

时间: 2024-10-26 00:58:40

python语言及特性的相关文章

Python语言特性

Python语言特性 1 Python的函数参数传递 看两个例子: Python 1 2 3 4 5 a = 1 def fun(a): a = 2 fun(a) print a  # 1 Python 1 2 3 4 5 a = [] def fun(a): a.append(1) fun(a) print a  # [1] 所有的变量都可以理解是内存中一个对象的"引用",或者,也可以看似c中void*的感觉. 这里记住的是类型是属于对象的,而不是变量.而对象有两种,"可更

Python语言学习笔记

获得人生中的成功需要的专注与坚持不懈多过天才与机会.  ——C.W. Wendte Python将很快成为你最喜欢的编程语言! Qt库?  PyQt  Perl-Qt 简单易学,功能强大,高效率的高层数据结构,简单而有效地实现面向对象编程. Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发. 注重的是如何解决问题而不是编程语言的语法和结构. wxPython,Twisted,Boa Constru

Python语言及操作系统等《转》

转自:https://github.com/taizilongxu/interview_python Python语言特性 1 Python的函数参数传递 2 Python中的元类(metaclass) 3 @staticmethod和@classmethod 4 类变量和实例变量 5 Python自省 6 字典推导式 7 Python中单下划线和双下划线 8 字符串格式化:%和.format 9 迭代器和生成器 10 *args and **kwargs 11 面向切面编程AOP和装饰器 12

Python语言介绍

本文章可以让我们快速了解 python 语言的历史,及以后发展状态,职业方向. 文章收录网上内容: http://www.cnblogs.com/lidong94/p/5478032.html (Python介绍) http://3060674.blog.51cto.com/3050674/1794776(Python职业分析与技能图谱) http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html (Python简史) http://

Python 语言规范

pychecker ? 对你的代码运行pychecker 定义: pychecker 是一个在Python 源代码中查找bug 的工具. 对于C 和C++这样的不那 么动态的(译者注: 原文是less dynamic)语言, 这些bug 通常由编译器来捕获. pychecker 和lint 类似. 由于Python 的动态特性, 有些警告可能不对. 不过伪告警 应该很少. 优点: 可以捕获容易忽视的错误, 例如输入错误, 使用未赋值的变量等. 缺点: pychecker 不完美. 要利用其优势,

强者联盟——Python语言结合Spark框架

引言:Spark由AMPLab实验室开发,其本质是基于内存的高速迭代框架,"迭代"是机器学习最大的特点,因此很适合做机器学习. 得益于在数据科学中强大的表现,Python语言的粉丝遍布天下,现在又遇上强大的分布式内存计算框架Spark,两个领域的强者走到一起,自然能碰出更加强大的火花(Spark能够翻译为火花).因此本文主要讲述了PySpark. 本文选自<全栈数据之门>. 全栈框架 Spark由AMPLab实验室开发,其本质是基于内存的高速迭代框架,"迭代&qu

Python语言在企业级应用上的十大谬误

英文原文:https://www.paypal-engineering.com/2014/12/10/10-myths-of-enterprise-python/ 翻译原文:http://www.oschina.net/translate/10-myths-of-enterprise-python?p=3#comments 语言多元化是PayPal编程文化中一个重要的组成部分.在C++和Java长期流行的同时,更多的团队选择了JvaScript和Scala.同时,Braintree的收购也引入了

Kitty:Python语言编写的Fuzzing框架

Kitty是一款用Python语言编写的开源的模块化.可扩展的模糊测试框架,灵感来源于OpenRCE’s Sulley 和 Michael Eddington的 (现在为Deja Vu Security的) Peach Fuzzer . 目标 我们开始写Kitty的时候,目的是帮助我们fuzz特殊的目标.也就就是运行于非TCP/IP通道上的私有和内部协议.一个通用.抽象的框架应该包含所有我们能想到的模糊测试过程中用到的所有通用功能,并且能方便用户扩展,以便用来攻击特定目标. 特性 心中有了这样的

动态语言的灵活性是把双刃剑 -- 以Python语言为例

本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter)的检查问题.这两个问题,本质都是因为动态语言(动态类型语言)的特性造成了,动态语言的好处就不细说了,本文是要讨论因为动态--这种灵活性带来的一些问题. 什么是动态语言(Dynamic Programming language)呢,是相对于静态语言而言,将很多静态语言编译(compilation)时期所做的事情推迟到运行时,在运行时修改代码的行为,比如添加新的对象