1.python比较容易学习,语法很简单,融入了很多现代编程语言的特性。python的库非常丰富,可以迅速开发程序,无论是网站还是小游戏都非常方便。不过,python的脚本的运行效率较低,不适合对运行效率要求较高的程序。
2.Java的语法比较规则,采用严格的面向对象编程方法,同时有很多大型的开发框架,比较适合企业级应用。Java的学习曲线较长,不仅要学习语言相关的特性,还要面向对象的软件构造方法,在此之后要学习一些框架的使用方法。
3.C++不仅是C和java特点的结合。实际上C++是多范式编程语言。它不仅支持传统的面向过程编程,也支持面向对象编程,最初C++发明的时候就叫做C with class (带类的C),随着时间推移,C++又接受了泛形编程的思想,像STL库就是一个例子。C++的语法风格不一而同,大部分人在写C++的时候还是当作带类的C来使用,其实C++可以写出像python一样现代的风格。C++运行效率较高,同时能够比较容易地建立大型软件,适合对效率要求高的软件,比如机器学习中的神经网络,大型游戏编程等等。C++的内容非常复杂,同时语言经过了几十年的演化,所以学习起来难度较大,开发效率较低。
Python和Java
一 注释的形式
python:#的形式
java:单行 // 多行 /*。。。。*/ 说明书/**。。。。*/
二 字符的形式
python:没有char数据类型,单引号和双引号是一样的功能。
java:单引号用来修饰char类型的字符,双引号用来修饰string类型的字符串。
三书写的形式
python:末尾不需要加分号。
java:必须加分号,没有程序则提示错误。
四缩进
python:它的缩进十分的重要,由于没有大括号什么的,所以很多逻辑一定要有正确的缩进形式,否则会提示错误。
java:缩进不是那么特别严格,由于有括号的存在,但是为了代码的阅读性,还是要遵守符合规范的缩进形式。
五代码书写的格式
比如if else,while,for,函数的定义,继承的写法上,等等,有很多的不同,这些就得系统的学习python才可清晰的掌握,由于太多,在此不做陈列。
六
python中的self相当于java中的this。
七 类初始化的方式不同
python:用__init__方法对对象进行初始化。
java:用构造函数对对象进行初始化。
八 Java中 逻辑与和逻辑或分别用 & 和 |表示
python中用 and 和 or表示。java 中的else if 被改为elif
#java:
int age = 30;
if(age < 24){
System.out.println("--------");
}else if (age >= 24 && age < 30){
System.out.println("#########");
}else {
System.out.println("********");
}
#python:
age = 50
if(age <18) :
print("--------")
elif age >= 18 and age <40 :
print("#########")
else :
print(" "********")
Python和c++
一、原理方面
1、运行效率:C++ >> Python
Python代码和C++最终都会变成CPU指令来跑,但一般情况下,比如反转和合并两个字符串,Python最终转换出来的CPU指令会比C++ 多很多。
首先,Python东西比C++多,经过了更多层,Python中甚至连数字都是object !!!
其次,Python是解释执行的,和物理机CPU之间多了解释器这层,而C++是编译执行的,直接就是机器码,编译的时候编译器又可以进行一些优化。
所以运行效率上没得比。
2、开发效率:Python >> C++
Python一两句代码就搞定的东西,C++往往要写一大堆。用C++解析下Json你就明白了,很可能好几天过去了,你还在调bug,刚调好bug又内存泄漏了,再试试Python你会爽得不要不要的。
开发效率上,Python要比C++快很多,所以说:"人生苦短,我用Python"。
二、应用方面
1、代码形式
缩进:在Python,用不同级别的缩进表示不同级别的代码块。
全局变量:在函数内部是可以访问到全局变量的,但直接修改就不行。如果想要修改,可以使用global 标识 a 为全局变量
循环:在Python中,是使用可迭代对象(如字符串、列表、元组、字典、文件等)来构成循环
举例:
if/else/elif, for/while, try/except内部变量的作用域
Python
对于Python而言,if/elif/else/ try/except for/while并不能改变其作用域。定义在他们之内的变量,外部还是可以访问。如下代码:
a = 2
if a == 2:
b = 3
print b
上面的程序是能正确运行的。也就是说在 if 的外部也是能访问到变量b的。
C++
对于C++而言,定义在if/for/while里面的变量,只能在里面访问,外面是访问不到的。如下代码:
int a = 2;
if(2 == a)
{
int b = 3;
}
cout<<b<<endl;
上面的程序会报错,外部是访问不到b的。