欢迎各位兄弟 发布技术文章
这里的技术是共享的
发表于: 2002-02-07 14:47:46 但目前好象国内用的不多啊,许多都不知道这个东西是什么,它强在什么地方啊? 好象它有很多语言的优点,不知道主要的应用领域是哪里? |
#1 得分:0 回复于: 2002-02-08 09:32:57 命令行方式;数据结构丰富,语法简单,面向对象,与c;java有接口,zope |
#2 得分:0 回复于: 2002-02-13 05:09:22 python最吸引我的两点是: 1、python程序的可读性好。其实python的许多优点perl也有,只是perl程序可读性不好、易写难维护。 2、python开发速度快(同Java, C++等相比)。 |
#3 得分:0 回复于: 2002-02-20 12:26:14 perl与python相比:python在面向对象方面做的更好,至少更优美。 java与python相比:python是完全开放的语言。 c/c++与python相比:python不可能取代c/c++,但是有些工作用python 完成会更好。 所以,我个人觉得python会成为自由软件的流行语言(也许已经是了)。 |
#4 得分:0 回复于: 2002-02-20 12:31:56 我所以知道的python应用领域: GUI编程(如:wxPython),PyXML,数学计算,网页编程,PyGame,Python.net, PySTL,lex and yacc for python and so on. 去python.org,你会发现更多。 |
#5 得分:0 回复于: 2002-03-02 15:29:36 非常好,,,,我看好...现在 |
#6 得分:0 回复于: 2002-03-10 05:36:29 我觉得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 |
#7 得分:0 回复于: 2002-04-24 23:43:22 good |
#8 得分:0 回复于: 2002-05-06 16:03:04 ok |
#9 得分:0 回复于: 2002-05-07 12:39:38 ok,咱也来学学,希望各位多多指教! |
#10 得分:0 回复于: 2002-05-24 13:19:24 hello, Python's world. |
#11 得分:0 回复于: 2002-05-29 08:04:44 我也开始学,请大家多指教 |
#12 得分:0 回复于: 2002-06-15 15:10:06 Python 是一种胶水语言,它开发速度快,调试容易,功能强大。主要应用在 科学计算,web,数据库,图形和动画程序。 |
#13 得分:0 回复于: 2002-07-02 02:10:31 什么叫“胶水语言”? |
#14 得分:0 回复于: 2002-07-02 16:49:01 hax(海曦) ,可以看看《程序员〉第六期(或是5期)李维的演讲,其中有“胶水语言”的介绍 |
#15 得分:0 回复于: 2002-07-03 22:43:30 下面是引用的一段话 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. |
Pygtk、PyQT太棒了,别的那些解释型的语言都没有这么好的库,做桌面开发就得用PYTHON!看看现在Linux下有多少工具使用Python写的你就懂了
Python优势:他是一种高级语言,比如C++进行编写,然后对其嵌入一个脚本解释器,在运行时动态执行一些脚本函数。