关于Python效率方面的疑问

关于Python效率方面的疑问

这两天在看Python方面的资料,发现它非常的灵活,但不回避的是:它是一个解释性的语言、弱类型,像这样的语言效率应该是不高的,但什么还有那么多网站用它呢?特别像google这样的极为重视效率的网站,而且我也在IBM的网站看到很多关于用它做WEB服务方面的开发,这也对效率要求很高,为什么那么多编译性的语言不用,而非要费那么大的篇幅来绍一个解释性的语言做WEB服务呢?

PYTHON应该有自己的独到之处,但是什么呢?请老鸟告知.

另外还有就是:PYTHON是只能做服务端脚本?


我刚刚开接触这门语言,如果有说的不妥当之处,请大家见谅。

谢谢!!
关于python的应用可以看一看我以前写的 http://www.woodpecker.org.cn:908 ... tutpy/tutpython001/

对于效率的讨论已经非常多了,原因非常多,简单列举想得到的:

1) 开发效率远比执行效率要高
2) 对于低效的可以采用c/c++来写,然后封装成python的模块,所以用python写的只是不太关注效率的东西
3) 看你的应用对效率的要求有多少,对于web还有象使用cache的技术,非常适合动态语言,一样可以提高效率
4) 有时效率的瓶颈并不在语言的解释处理上,而主要在网络,数据库上,因此语言执行的速度不一定是效率低的原因,特别是对于大批量并发的情况
5) python中一些常用的内置模块许多就是使用C写的,不存在什么效率问题
6) 你仍然可以对python进行性能优化,从而实现尽可能高的性能。
谢谢
应该说。它是一个解释性的语言、强类型!的


QUOTE:
原帖由 phpcoffee 于 2006-9-8 12:43 发表
应该说。它是一个解释性的语言、强类型!的

不对吧?

应该是弱类型吧?
是强类型,一旦给一个变量赋值,你无法改变,而且除了数值类型一般不会自动进行类型转换。如:

a = 'a'
a = a + 1 #抛异常
a = 2 #注意,这是给a一个新的值,原来的值就丢了。在python中叫绑定,不叫改变。

而象javascript你可以把一个字符串与整数相加,它是弱类型的。

或许应该叫编译时的弱类型检查。


QUOTE:
原帖由 limodou 于 2006-9-12 16:18 发表
是强类型,一旦给一个变量赋值,你无法改变,而且除了数值类型一般不会自动进行类型转换。如:

a = 'a'
a = a + 1 #抛异常
a = 2 #注意,这是给a一个新的值,原来的值就丢了。在python中叫绑定,不叫改变。
...

明白了,原来和javascript这样的弱类型存在着质的区别