10
回答
c语言 与 python语言 不可告人的秘密
注册华为云得mate10,2.9折抢先购!>>>   

为什么很多国外的开源软件中是用c或c++写的核心代码,而用python写的测试代码。

是不是python脚本语言有利于c/c++的测试?

能否举例说明下?

举报
时过境迁_
发帖于6年前 10回/3K+阅
共有10个答案 最后回答: 5年前

python脚本表现能力强大,丰富的类库,人性化的语言,

写测试的确非常方便。

举例说明直接随便找本python的书,看里面的小例子,试试用c++写写,人家都测试好了,估计c++还没调试好。

--- 共有 3 条评论 ---
helloworld_go回复 @Lunar_Lin : c++写得更快,估计也比不上python的神速。 6年前 回复
helloworld_go回复 @Lunar_Lin : python的调试和c++的调试难度不是一个级别上的。 6年前 回复
Lunar_Lin不能这么说的。。python不也一样要调试,一样的语法严谨。C++不在乎效率的话,可以写的非常神速。。主要是学习时间差距太大。 6年前 回复

引用来自“helloworld_go”的答案

http://blog.csdn.net/lgfei/article/details/92044

C++版本
/*std boost头文件*/
int main()
{
  fstream f("123.txt");
      string line;  map<string,string> lines;//要从大到下的话,模板增加个greator参数
      vector<string> v;
      while(getline(f,line,'\n')
     {
         splite(v,line,is_any_of("\t"),token_compress_on);
         lines[v[0]]=v[1];//按第2行排序的话,就lines[v[1]]=v[0];
    }
     typedef pair<string,string> pp;
     foreach(pp &  line, lines)
    {
           cout<<line.first<<"  "<<line.second<<endl;
     }
     return 0;
}

--- 共有 7 条评论 ---
Yisen回复 @Lunar_Lin : 难道你用c++不缩进吗?python一样的缩进,都是tab,谁用空格了。而且缩进方法跟你上面的一样,把大括号去掉就好了,哪来的困扰 6年前 回复
helloworld_go回复 @$_$ : 厉害啊,python的语法还是好强大的。 6年前 回复
deleted来个一行版.... open("new.txt","wb").writelines('\t'.join(line)+"\n" for line in sorted( [ line.split() for line in open('old.txt') ],lambda x,y:cmp(int(x[0]), int(y[0]))) ) 6年前 回复
Lunar_Lin回复 @helloworld_go : 呵呵。好啦。我只是开个玩笑。不过确实不少人被python的缩进 很折磨过。。 上班上班~~~ 6年前 回复
helloworld_go回复 @Lunar_Lin : 好的,那我们假设他输代码的速度不如你快。 不过要是我,要是没有va帮我输这段c++代码,我得输很久很久。 6年前 回复
python整合c属于强项了, 比如自带的ctypes和第三方的ffi库, 可以直接调用c写的so/dll,  第三方的cython(原pyrex)可以混写python+c/c++.....

个人愚见。 需要依靠缩进区分语法结构的代码,太含蓄了。不喜欢。PYTHON

一些简单的东西一大堆东西才能实现。

--- 共有 1 条评论 ---
helloworld_go那些难实现的可以用c++,c来实现。 6年前 回复
顶部