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的。