Python语言使用特点介绍

开发 后端
Python语言是我们经常使用的一个编程语言,其中有不少的特点需要我们详细的学习。下面我们来看看Python语言的具体特点。

Python语言有不少的知识需要我们学习。相关的技术如何才能更好的进行相关的推广呢?下面我们就来看看目前Python语言实际的应用方式以及未来的发展趋势。

可扩充性可说是Python语言作为一种编程语言的特色。新的内置模块(module)可以用C 或 C++写成。而我们也可为现成的模块加上Python的接口。Python可以使用户避免过分的语法的羁绊而将精力主要集中到所要实现的程序任务上。#t#

Python也被称为是一门清晰的语言。因为它的作者在设计它的时候,总的指导思想是,对于一个特定的问题,只要有一种***的方法来解决就好了。这在由Tim Peters写的python格言(称为The Zen of Python)里面表述为:

There should be one-- and preferably only one --obvious way to do it.

有意思的是,这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。这似乎是人们常把Perl和Python互相比较的重要原因。

Python语言是一种清晰的语言的另一个意思是,它的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。这样有意的强制程序员养成良好的编程习惯。其中很重要的一项就是Python语言的缩进规则。

例如if语句:

 

  1. if age<21: 
  2. print "You cannot buy wine!\n"  
  3. print "But you can buy chewing gum.\n"  
  4. print "this is outside if\n"  

 

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

另外Python语言在其他部分的设计上也坚持了清晰划一的风格,这使得Python称为一门易读性、易维护性好,并且被大量用户所欢迎的、用途广泛的语言。

Python语言的局限

虽然Python语言是一个非常成功的语言,但是也有必要明白它的局限性。

1. 运行效率低下

目前为止,Python语言可以说是所有主流脚本语言中速度最慢的。(是这样么?待考.)这与其脚本引擎的设计思路有关。如果你的应用对于速度有着较高的要求,就要考虑Python是否能满足需要。不过这一点可以通过使用C编写关键模块,然后由Python调用的方式加以部分解决。

2. 多线程支持欠佳

Python语言支持多线程,但是其运行效率也不高。

3. 独特的语法

这也许不应该被称为局限,但是它用缩进来区分语句关系的方式还是给很多初学者带来了困惑。即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,而这是用肉眼无法分别的。

4. 无类型

作为一种动态语言,随时随地创建和使用变量是Python给我们带来的巨大的便利。但是它也会使得程序不严谨,某些错误只有在运行中才可能出现。所以,使用Python语言编程的时候,要对类型做到心里有数。这也使得Python的IDE工具无法提供便利的自动完成等功能。

Python语言的前景

Python在编程领域的占有率一直处于稳步上升之中,根据***的数据,Python排名第七。前六名分别是Java,C,VB,C++,PHP和Perl. 作为一个很年轻的语言,Python的位置已经相当令人振奋了。随着微软将Python纳入.Net 平台,相信Python的将来会更加强劲发展。Python 很可能会成为.Net平台快速开发的主流语言。欲了解这方面情况,请参考Iron Python语言的相关信息.著名的搜索引擎 Google 也大量使用Python。更加令人吃惊的是,在Nokia智能手机所采用的Symbian操作系统上,Python成为继C++,Java之后的
 

责任编辑:张浩 来源: 互联网
相关推荐

2009-11-25 14:25:14

PHP自然语言排序

2010-02-26 10:38:29

Python语言

2010-02-22 18:08:27

Python语言

2009-12-14 13:56:12

Ruby特点

2010-01-27 16:41:48

Android特点

2010-02-02 18:27:02

Python语言

2010-02-26 14:50:17

Python操作语言

2009-12-29 13:29:28

WPF Depende

2010-02-23 09:51:32

WCF MTOM

2009-12-24 10:09:33

WPF事件注册

2009-12-14 18:30:59

Ruby DSL特点

2010-02-22 09:33:43

Python语言

2009-12-31 09:50:52

Silverlight

2010-04-07 17:56:49

Oracle位图索引

2009-12-17 10:29:04

Ruby异常处理结构

2009-12-17 14:34:24

Linux系统内核

2010-03-10 18:12:50

Python编程语言

2010-03-01 18:07:53

Python语言

2010-02-26 10:07:55

Python编程语言

2011-01-18 17:18:09

点赞
收藏

51CTO技术栈公众号