目前我正在試圖理解這段代碼在pythonpython區塊範圍 - 它是否類似於在函數內部提升的javascript?
def foo(a):
if a==12:
var = "Same"
else:
var = "different"
我閱讀和理解的事實,Python不支持基於塊的作用域。因此,在函數內部創建的所有內容(無論是在循環內還是在條件語句中)都可以公開地提供給函數的其他成員。我還閱讀了範圍規則here。在這一點上,假設這些內部作用域變量是懸掛在函數內部的,就像在javascript中懸掛的一樣嗎?
那麼Python並不完全具有變量聲明開始,因此很難與JavaScript的'var'提升進行比較。我知道你可以在給x分配一些東西后放一個'global x'聲明,它仍然可以工作,但這就是蘋果和橘子。 – Kevin
@ jamesfranco - 這是不可能的。你爲什麼不開啓你的python解釋器並找出答案? –
@Kevin除了'var'關鍵字之外,Python的聲明(或缺少)與JavaScript的不同? –