PythonCPPJava的異同

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++的內容非常複雜,同時語言經過了幾十年的演化,所以學習起來難度較大,開發效率較低。

PythonJava

註釋的形式

python#的形式

java:單行 //  多行 /*。。。。*/  說明書/**。。。。*/

字符的形式

python:沒有char數據類型,單引號和雙引號是一樣的功能。

java:單引號用來修飾char類型的字符,雙引號用來修飾string類型的字符串。

三書寫的形式

python:末尾不需要加分號。

java:必須加分號,沒有程序則提示錯誤。

四縮進

python:它的縮進十分的重要,由於沒有大括號什麼的,所以很多邏輯一定要有正確的縮進形式,否則會提示錯誤。

java:縮進不是那麼特別嚴格,由於有括號的存在,但是爲了代碼的閱讀性,還是要遵守符合規範的縮進形式。

五代碼書寫的格式

比如if elsewhilefor,函數的定義,繼承的寫法上,等等,有很多的不同,這些就得系統的學習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(" "********")

Pythonc++

一、原理方面

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章