1.Python和C++有何不同?
一、文件结构不同
C++和Python在引用库的时候均需要将库import或者#include,但是在使用标准库的时候,Python不需要引入库。我觉得python应该会默认将库都加入进去,所以代码执行效率要比C++低一些,但是当Python引用第三方库的时候,两者是差不多的。
二、书写格式和语法不同。
Python由于最早出现在1991年,之前已经出现了很多中高级语言,因此Python的设计借鉴了很多其他高级语言的特征,又经过发明人改造,语法更为简洁,可谓集大成者。Python和MATLAB的m语言非常像。Python的语法格式不同于其他常规语言先定义声明才能使用的尿性,而且极其灵活,完全面向更上层的开发者。
三、生态库不同。
Python的最大优势就是开源,开源使其发展可以在千万人协作的基础上更快更好地进行优化。Python的生态库已经多达几十万个,如此数量众多的生态库是各行各业利用Python因地制宜,适合各专业特点的专业化定制和改造,这是其他任何编程语言都没有的特点,这一特点是进化层级的差异。
就好像人会更懂得思考,使用工具和语言一样,而其他动物则不具备这一能力。再经过时间的放大作用,人类完全超过了其他动物。Python就像人类一样,由于具有生态,因此其具备进化能力,进化的表现就是其生态库的快速扩展,令其他语言无法望其项背。
参考资料来源:
百度百科-Python
百度百科-C++
2.python 与C的区别
python与C的区别如下。
1、语言类型不同。
Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它赋值的时候。C 是静态类型语言,一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。
2、对象机制不同。
Python中所有的数据,都是由对象或者对象之间的关系表示的,函数是对象,字符串是对象,每个东西都是对象的概念。每一个对象都有三种属性: 实体,类型和值。
C中没有对象这个概念,只有“数据的表示”,比如说,如果有两个int变量a和b,想比较大小,可以用a == b来判断,但是如果是两个字符串变量a和b,就不得不用strcmp来比较了,因为此时,a和b本质上是指向字符串的指针,如果直接用==比较, 那比较的实际是指针中存储的值地址。
3、变量类型不同。
python六个标准的数据类型:Number数字、String字符串、List列表、Tuple元祖、Sets集合、Dictionary字典,数字类型有四种类型:整数、布尔型、浮点数和复数。C语言也可分四类:基本类型、枚举类型、void的类型、派生类型。基本类型:整数类型、浮点类型。
4、函数库的使用方法不同。
在C语言中使用那个库函数,需要引入头文件用include引入,而在python中需要引入别的模块或者函数时需要用import引入。
两者的不同机制是C语言中include是告诉预处理器,这个include指定的文件的内容,要当作本地源文件出现过,而python中的import可以通过简单的import 导入,或者是 import numpy as np 。
5、全局变量不同。
在C语言中,声明全局变量,如果值是恒定的,那么可以直接用#define声明,如果只是声明全局,并且变量的值是可变的,那么直接类似int a 就可以了。
在python中,声明全局变量时,需要加上global,类似global a,在函数里面使用的时候需要先声明global a ,否则直接用a那么python会重新创建一个新的本地对象并将新的值赋值给他,原来的全局变量的值并不变化。
参考资料来源:搜狗百科-python
参考资料来源:搜狗百科-C语言
3.先学python再学C/C++是一个怎样的决定?
算是一个不好不坏的决定。
好处在于,相对于C/C++而言,Python语句规范简单,上手快,在前期可能比C、C++容易学一些,后期深入之后会有面向对象之类的内容。自身也包含了很完善的函数库,不需要自己编写。
Python相比C、C++更适合作文本信息处理的工作。 坏处就是,在熟悉了Python的语句以后,写C和C++的时候容易漏掉一些符号,比如语句末尾的分号等等。
而且有些函数需要自行编写了。另外C属于比较底层的语言,有些语句操作直接与内存挂钩,需要你掌握更多有关底层的知识。
汇编了解就行,如果纯粹汇编写,估计你创作那门语言也太mini了。 而且关键是很难跨平台编译写一个python那样的脚本语言用C估计几百k代码就差不多了,而且效率比现在的python高不少。
如果架构想好了,2周就搞定了什么语言写的无所谓啊,不过绝大多数个人和小团队创作的脚本语言都是C写的吧C++估计10多年后就会被淘汰掉,太臃肿了,导致添加新特性太难了,面向对象不如java,内核编程不如C,现在连用Object-C的使用人数都有时超过C++了。 没有垃圾收集导致工作量加倍。
头文件声明的模式导致写双份代码,以及代码重构的困难。写界面的话,windows的MFC封装得是我没见过更烂的了,绝大多数快速开发不会选择MFC,精细开发宁愿直接用C的sdk。
现在几大移动平台都没有用C++的了。现在C++主要是用于个人或小团队开发小游戏啥的,比如cocos2d-x,但是这个也是无赖之举,cocos2d-x开发和运行效率很低,如果之后有更适合的跨平台小引擎就都转型了。
大型游戏一般都是在引擎的基础上用脚本语言或者可视化界面设计,和C++无关。一般都是这么学的c跟c++都差不多的,学起来很快,到底怎样学才好也要根据个人喜好。
4.Python和C哪个更好学
一:python和c语言哪个好
现在很多外国的初学者都使用python作为编程语言,主要是python见效快,并且可以使用高级端口,c语言是比较低层的,一般不建议学习,学习起来也是比较枯燥。
对于初学者,学习c语言肯定是没有什么坏处的,但是相比python,c语言是比较简单的,但是我们在学习c语言之前一定要做好基础准备,一些大学都是要学习c语言的,可见c语言是多么的重要。
二:python与c语言的区别有哪些
1.语言不同
c语言是一种编译的语言,而python一种脚本语言。
2.全局变量方面
在python中,我们需要引用别的模块需要引用import引入,而在c语言中,需要在头部使用include去引入。
3.状态不同
c语言是一种静态语言,而Python是动态的语言。
4.数组和list的不同
c语言中的数组,里面都是数字,而list包含很多不同的元素。
5.python和c的问题
#include <stdio.h>
int is_in(int x,const int *y,int n){
int i=0;
for(i=0;i<n;i++){
if(x==y[i]){
i=0;
return 1;
}
}
return 0;
}
int main(int argc,char *argv[]){
int a[8]={13,25,6,8,9,10,38,15};
int b[8]={6,19,23,35,28,32,22,21};
int c[10][4]={{1,2,3,5},{2,3,9,15},{3,9,12,8},{4,5,22,6},{5,9,18,13},{6,12,11,10},{7,2,6,5},{8,3,1,3},{9,9,8,6},{10,2,5,2}};
int e=0,f=0,g=0;
for(e=0;e<10;e++){
for(f=0;f<10;f++){
for(g=0;g<10;g++){
if(is_in(c[e][1]+c[f][1]+c[g][1],a,8)){
if(is_in(c[e][2]+c[f][2]+c[g][2],a,8)){
if(is_in(c[e][3]+c[f][3]+c[g][3],b,8)){
printf("d%d,d%d,d%d\n",c[e][0],c[f][0],c[g][0]);
}
}
}
}
}
}
return 0;
}
(python中的print好像缩进有点错误)大体上对应的C应该是这个样子的,我尽量没有改变原来的循环结构。
6.学好python一定要有c/c++吗
学好python不需要c/c++基础,也不需要java基础。
相比java和C++,python更容易学习,因为1、它在类型检查方面很自由。不用定义变量类型;定义方法时,不用定义允许传递的参数类型;使用方法时,不用定义接口;等等。
2、不用进行类型转换。只要有相应的方法,就能调用。
不需要实现相应接口或者继承相关类。3、不用自己维护内存。
和JAVA一样,不需要自己维护内存。4、官方文档通俗易懂。
相比Java的Javadoc生成的API文档,python的文档更美观和通俗。5、同样丰富的库。
python可以使用的库与C和Java不相上下。当然也有些需要注意:1、视你编写的软件而定,python的执行效率可能不够高。
2、python正在由python2过渡到python3,而有相当数量的库并未完全迁移到python3。.。