2015-07-13 28 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)。 :) –