2015-07-13 69 views
1

Python中允許使用橢圓引用嗎?Python記錄中的橢圓引用

在一個橢圓引用中,該字段被命名,但只要結果引用在引用環境中是明確的,則可以省略任何或全部封閉記錄名稱。

你能否給我提供一些簡短的例子..謝謝。

回答

1

不,您不能在Python中的正常數據對象上執行橢圓引用,因爲根據the Zen of Python,「顯式優於隱式」。

然而,你可以做這樣的事情

from mymodule import Myclass 
thing = Myclass() 

,而不是

import mymodule 
thing = mymodule.Myclass() 

雖然橢圓參考可以使代碼更簡潔,在實踐中實際上可以阻礙代碼的可讀性,因爲您需要確定引用是簡單名稱還是縮寫引用,並且在編寫代碼時必須防範無意中創造了一個模棱兩可的參考。而且,處理這樣的引用使得編譯器或解釋器的工作更加困難。因此,即使在允許使用橢圓參考的語言中,避免使用它們也許是明智的 - 因爲這個原因,許多JavaScript程序員避免了構建with

在Python中,我們確實不需要橢圓引用,因爲我們可以在深度結構化對象的任何級別輕鬆綁定名稱。

例如,而不是

a = some.deeply.structured.thing[5]['items'][0] 
b = some.deeply.structured.thing[5]['items'][7] 
c = some.deeply.structured.thing[5]['items'][11] 

我們可以做

ref = some.deeply.structured.thing[5]['items'] 
a = ref[0] 
b = ref[7] 
c = ref[11] 

有關名稱在Python結合的優秀文章,請通過這樣的老將斯內德爾德看到Facts and myths about Python names and values

+0

謝謝先生回答我的問題。 :) – zen

+0

Thankyou,@ElizaMarie。如果你喜歡我的回答,請隨時[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 :) –