python的优势在哪里?

icey 2002-02-07 02:47:46
我看过一些关于python的介绍,而且觉得它也挺简单的,
但目前好象国内用的不多啊,许多都不知道这个东西是什么,它强在什么地方啊?
好象它有很多语言的优点,不知道主要的应用领域是哪里?
...全文
1678 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobby_zhou8086 2002-07-03
  • 打赏
  • 举报
回复
下面是引用的一段话
Python is a good language to "glue" together large software components -- for example other applications. One example is using the Win32 extensions in Python to drive Windows Application.
Importing data into Microsoft Excel.
Available modules makes this very easy.
Readable nature of Python makes such scripts easy to write, extend, and use.
Non-programmers could easily understand what is going on and modify it.
happyself 2002-07-02
  • 打赏
  • 举报
回复
hax(海曦) ,可以看看《程序员〉第六期(或是5期)李维的演讲,其中有“胶水语言”的介绍
hax 2002-07-02
  • 打赏
  • 举报
回复
什么叫“胶水语言”?
bobby_zhou8086 2002-06-15
  • 打赏
  • 举报
回复
Python 是一种胶水语言,它开发速度快,调试容易,功能强大。主要应用在
科学计算,web,数据库,图形和动画程序。
koocye 2002-05-29
  • 打赏
  • 举报
回复
我也开始学,请大家多指教
alula 2002-05-24
  • 打赏
  • 举报
回复
hello, Python's world.
zjssoft 2002-05-07
  • 打赏
  • 举报
回复
ok,咱也来学学,希望各位多多指教!
wafer_w 2002-05-06
  • 打赏
  • 举报
回复
ok
zhangseahill 2002-04-24
  • 打赏
  • 举报
回复
good
arya 2002-03-10
  • 打赏
  • 举报
回复
我觉得python很好的一个理由是他综合了各种编程风格的优点而摒弃了它们的缺点,使得python更加容易写出面向语义而不是实现的程序。比如我们要求和从1到100,用C/C++或者其它imperative的语言就得这么写:
int sum=0;
for(int i=1; i<=100; i++) sum+=i;
这个程序的意思就是取一个累加器和一个步进器,让步进器从1进到100,每次都把和加到累加器中求和。程序展现的是如何做这件事情的细节,目的是什么需要阅读者自己去揣摩,如果没有文档的话。
python实现的代码却是:
from operator import add
sum = reduce(add, xrange(1,101))
这里有三层语义:xrange->产生从1到100的列表,add就是加法,reduce就是累积地把函数(这里是add)作用在列表上。直接翻译出来就是
“把加法累积地作用于从1到100的列表上”
这个表达比前面C/C++的imperative(祈使)的方式更加直白地体现程序的意图。当然python也支持imperative的代码风格。
比如,给出字符串abc,要求生成一个循环词典:
{'a':'b', 'b':'c', 'c':'a'}
祈使风格的python程序为
def makedict(str):
s={}
str1=str[1:]+str[0]
for i in range(len(str)):
s[str[ i ]]=str1[ i ]
return s
如果使用函数,
def makeloopdict(str):
return dict(zip(str, str[1:]+str[0]))
是不是比祈使版本更加表达了目的呢?(当然运行还可能更快)
另外一个特点就是易于用C/C++或者其它语言的动态连接库进行扩充。我很喜欢的python2.2新引入的强大功能就是generator/iterator功能。这个功能据说是来自另外一门文字处理语言icon。generator是一种特殊的函数,它使用一个特别的出口,用yield表示。generator函数生成一个iterator,而iterator的每步迭代值从函数里的yield返回值来。每次调用iterator的next方法,都会返回generator中按照控制流程运行的下一个yield值,如果上次yield过,流程就从上次yield退出的地方继续,直到遇到下一个yield或者函数结束,这时会导致一个迭代终点例外。
总的来说,generator/iterator分别在生成端和用户端提供了用户观点的视图,而把复杂的耦合关系留给了解释器。比如下面这段代码可以生成无限的质数:
from __future__ import generators

def eratosthenes():
D = {}
q = 2
while 1:
if q not in D:
yield q
D[q*q] = [q]
else:
for p in D[q]:
D.setdefault(p+q,[]).append(p)
del D[q]
q += 1
Nizvoo 2002-03-02
  • 打赏
  • 举报
回复
非常好,,,,我看好...现在
chiesaitaly 2002-02-20
  • 打赏
  • 举报
回复
我所以知道的python应用领域:
GUI编程(如:wxPython),PyXML,数学计算,网页编程,PyGame,Python.net,
PySTL,lex and yacc for python and so on.
去python.org,你会发现更多。
chiesaitaly 2002-02-20
  • 打赏
  • 举报
回复
perl与python相比:python在面向对象方面做的更好,至少更优美。
java与python相比:python是完全开放的语言。
c/c++与python相比:python不可能取代c/c++,但是有些工作用python
完成会更好。
所以,我个人觉得python会成为自由软件的流行语言(也许已经是了)。
lucong 2002-02-13
  • 打赏
  • 举报
回复
python最吸引我的两点是:

1、python程序的可读性好。其实python的许多优点perl也有,只是perl程序可读性不好、易写难维护。
2、python开发速度快(同Java, C++等相比)。
jnut 2002-02-08
  • 打赏
  • 举报
回复
命令行方式;数据结构丰富,语法简单,面向对象,与c;java有接口,zope

10,612

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧