免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 兰花仙子
打印 上一主题 下一主题

较之Perl - Python的语法真奇怪 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
11 [报告]
发表于 2007-01-22 13:26 |显示全部楼层
楼上转贴时注明出处还是比较好一些。
当然了,不排除此文最初就是你写的可能性。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
12 [报告]
发表于 2007-01-22 13:30 |显示全部楼层
原帖由 livefreeordie 于 2007-1-22 13:28 发表
xh,是我啊,lkb

知道是你。
一开始就看到猪的大脑思考了。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
13 [报告]
发表于 2007-01-22 13:33 |显示全部楼层
原帖由 livefreeordie 于 2007-1-22 13:31 发表
hoho,N年不上BBS了


大侠此次来到中原,是不是想露几手给大家看?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
14 [报告]
发表于 2007-01-22 13:44 |显示全部楼层
回你的那句:
> 或者“$%^&*{}”之类的符号对你而言与火星文无异;

背景:水木 Python 版有个人问:
  1. 发信人: ckidawei ( CK ), 信区: Python
  2. 标  题: 【求助】再问一个比较变态的问题
  3. 发信站: 水木社区 (Fri Dec  8 17:38:13 2006), 转信

  4. 如果一个文件中有很多“OK”字样,

  5. 如何以“OK”为下刀之处,

  6. 把这个文件切分成很多个小文件?


  7. 谢谢。

  8. --
复制代码

于是有个 Perl 爱好者给提供了一段代码:
  1. 发信人: superisaac (自己作的抓饭真好吃), 信区: Python
  2. 标  题: Re: 【求助】再问一个比较变态的问题
  3. 发信站: 水木社区 (Sat Dec  9 19:41:32 2006), 转信

  4. $/ = 'OK';
  5. while (<>){
  6.     chomp;
  7.     # 写到小文件里
  8. }
复制代码

虽然我对该同志无视少数民族语言习惯的行为多多少少有点鄙视,
但是当我看到下面这个回复时:
  1. 发信人: scaner (ec8030f7-c20a-464f-9b0e-13a3a9e97384), 信区: Python
  2. 标  题: Re: 【求助】再问一个比较变态的问题
  3. 发信站: 水木社区 (Sat Dec  9 19:54:48 2006), 转信

  4. perl这种方法最讨厌了,
  5. 虽然写得时候看起来挺爽的.
复制代码

还是忍不住回了一段:
  1. 发信人: flw (flw), 信区: Python
  2. 标  题: Re: 【求助】再问一个比较变态的问题
  3. 发信站: 水木社区 (Sat Jan 20 16:56:15 2007), 转信

  4. 我对自己的评价是:不排斥,不盲从。我们要学会兼收并蓄,要学会包容:

  5. use English;
  6. $INPUT_RECORD_SEPARATOR = 'OK'; # or $RS = 'OK';

  7. 或者:

  8. open my $handle, '</path/to/foo.bar';
  9. $handle->input_record_separator( 'OK' );
  10. while( readline( $handle ) ){
  11.    写入小文件
  12. }
  13. close($handle);

  14. 【 在 scaner (ec8030f7-c20a-464f-9b0e-13a3a9e97384) 的大作中提到: 】
  15. : perl这种方法最讨厌了,
  16. : 虽然写得时候看起来挺爽的.


  17. --
  18. 毫无疑问
  19. 我编的程序
  20. 是全天下
  21. 最鲁棒的!
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
15 [报告]
发表于 2007-01-22 14:05 |显示全部楼层
原帖由 路小佳 于 2007-1-22 14:04 发表
乱入一下, 问个问题, Perl最令我郁闷的是太慢了, 据说Python许多库都是C写的, 快不少, 是不是这样?

又开始胡说了吧?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
16 [报告]
发表于 2007-01-22 14:10 |显示全部楼层
原帖由 路小佳 于 2007-1-22 14:07 发表
这不是我说的啊, 我只知道Perl比较慢, 但是Python不清楚, 别人告诉我的。

Python 就以目前的情况,不可能比 Perl 快的。
Perl 是最快的脚本语言,仅次于 C。
况且,计算机的硬件发展到如今这个程度,
速度的快慢早已不是由编程语言来决定的了。
首先优化你的程序,这才是最主要的。

Java 的速度都不慢了,更别说是 Perl/Python

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
17 [报告]
发表于 2007-01-22 14:18 |显示全部楼层
原帖由 兰花仙子 于 2007-1-22 14:14 发表



有人说Python更慢点...
引入模块慢,那是模块的问题..例如处理WEB请求,用Apache::Request肯定就比CGI.pm快.
写了2个小脚本,用time运行测试了下,速度几乎差不多.

$ cat t1.pl
#!/usr/bin/perl

$i=0; ...

仙子,100 次太少了吧?
还不够 CPU 正眼瞄一下呢。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
18 [报告]
发表于 2007-01-22 16:40 |显示全部楼层
可以测试一下这个:
  1. flw@Sleeper:~$ cat ttt.pl
  2. #!/usr/bin/perl

  3. print STDERR `free`;

  4. for $i (1..10000000){
  5.     $count++;
  6. }

  7. print STDERR `free`;
  8. flw@Sleeper:~$ cat ttt.py
  9. #!/usr/bin/python
  10. import os;
  11. import sys;

  12. for line in os.popen("free"):
  13.     sys.stderr.write(line)

  14. count=0
  15. for i in range(0,10000000):
  16.     count+=1

  17. for line in os.popen("free"):
  18.     sys.stderr.write(line)
  19. flw@Sleeper:~$
复制代码

我这里是:
  1. flw@Sleeper:~$ time ./ttt.pl
  2.              total       used       free     shared    buffers     cached
  3. Mem:        321808     135868     185940          0      11360      54560
  4. -/+ buffers/cache:      69948     251860
  5. Swap:       128480          0     128480
  6.              total       used       free     shared    buffers     cached
  7. Mem:        321808     135868     185940          0      11360      54560
  8. -/+ buffers/cache:      69948     251860
  9. Swap:       128480          0     128480

  10. real    0m1.394s
  11. user    0m1.364s
  12. sys     0m0.032s
  13. flw@Sleeper:~$ time ./ttt.py
  14.              total       used       free     shared    buffers     cached
  15. Mem:        321808     136768     185040          0      11348      54560
  16. -/+ buffers/cache:      70860     250948
  17. Swap:       128480          0     128480
  18.              total       used       free     shared    buffers     cached
  19. Mem:        321808     255028      66780          0      11360      54560
  20. -/+ buffers/cache:     189108     132700
  21. Swap:       128480          0     128480

  22. real    0m5.894s
  23. user    0m4.428s
  24. sys     0m1.464s
  25. flw@Sleeper:~$
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
19 [报告]
发表于 2007-01-23 15:59 |显示全部楼层
原帖由 huangyiiiiii 于 2007-1-23 15:56 发表

说说我的的感觉(对perl并不熟),相较 perl ,python 是个严肃得多的语言,是个可以用来架构大一些的项目的语言。
而对比 java 甚至 c ,python 又是个好玩得多的语言。
我觉的软件开发人员会喜欢 python , ...

呵呵。其实把 Python 这六个字母换成别的,看起来也一样成立。比如 Pascal

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
20 [报告]
发表于 2007-01-23 17:37 |显示全部楼层
原帖由 flw 于 2007-1-23 15:59 发表

呵呵。其实把 Python 这六个字母换成别的,看起来也一样成立。比如 Pascal

我这么说没别的意思,我只是觉得“严肃得多”“要好玩一些”“我觉得软件开发人员会喜欢XXX”此类字眼太没有说服力了。
根本不是一个语言的特征,因此也就没法把 Python 从众多的语言里面区分出来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP