Python和C++不同之處總結
阿新 • • 發佈:2019-02-06
我是從學完C++之後,再學習Python的。在學習Python的過程中,會發現Python的強大之處,比如Python內建的資料結構的強大,也會對Python中與C++不同的地方感到特別操蛋,所以防止以後出錯,也方便以後查錯,將Python與C++不同的地方總結如下(後續更新中),如果不對的地方,還請各位大俠指出,一起進步!!!
1. 縮排
在Python中對於“縮排”的要求比較嚴格。在Python,用不同級別的縮排表示不同級別的程式碼塊。如下程式碼:
a = 1
if a == 1:
b = 5
b = b + a
else:
b = 6
b = b + 2
而在C++中,用大括號對 {} 來標示程式碼塊。
2. 全域性變數
在Python中,不能在函式定義的內部直接修改全域性變數的值,否則直接報錯。如下程式碼:def f(x):
print a
a = a / 2
return a + x
a = 3
f(5)
在程式檔案中,會發現提示這樣的錯誤:local
variable 'a' referenced before assignment。可以看到,函式f(x)中的變數
a 被當做區域性變數,而不是外面的全域性變量了。如果改成如下程式碼,則不會報錯:
def f(x):
print a
return a + x
a = 3
f(5)
可以看到,在函式內部是可以訪問到全域性變數的,但直接修改就不行。如果想要修改,可以使用global 標識 a 為全域性變數,程式碼如下:
def f(x):
global a
print a
a = a / 2
return a + x
a = 3
f(5)
3. for 迴圈語句的格式
在Python中,for 語句的格式如下:for iter_var in iterable_object:
suite_to_repeart
可以看到,在Python中,是使用可迭代物件(如字串、列表、元組、字典、檔案等)來構成迴圈的。
4.關鍵字引數的使用
在Python中,可以使用“關鍵字”引數,來打亂函式的原始定義中的傳參順序,如下程式碼:
def fun(sh,ch):
return 2*sh + ch
print fun(ch = 1, sh = 5)