2015-08-17 43 views
9

據我所知,del adel(a)似乎都有相同的效果。如果是這樣的話,爲什麼Python允許del作爲語句和函數存在?Python:「del a」和「del(a)」之間是否有區別?

+5

括號並不總是表示函數。你也可以做'1+(2)',但這並不意味着'1+'是一個函數。 – JJJ

+4

這個問題既不清楚也不太寬泛,這只是對Python括號中的括號作用的誤解,這並不是來自初學者的瘋狂。 – DSM

回答

12

del總是一個聲明。使用括號並不意味着你正在進行函數調用,但是你正在對錶達式進行分組。 (1)1相同。

+0

很明顯,「(a)」和「a」也是一樣的。參考OP的expample。 –

+0

@MarkusMeskanen當然,謝謝! – cdonts

0

感謝@Juhana的評論和@cdonts的回答。顯然這裏的括號不代表函數調用。這裏是另一個例子:

In [40]: a=b=c=1 
In [41]: del[a,(b,c)] 
In [42]: b 
Traceback (most recent call last): 
    File "<ipython-input-42-60b725f10c9c>", line 1, in <module> 
    b 
NameError: name 'b' is not defined 
相關問題