1. 程式人生 > >Python和C++不同之處總結

Python和C++不同之處總結

我是從學完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)