考虑以下简单示例:
import pandas as pd
mytable = pd.read_csv('test.dat',sep='\t')
mytable["z"] = mytable.x + mytable.y
mytable["q"] = mytable.z**2
mytable
例如cat test.dat
:
x y
1 5
2 6
3 7
4 8
如果我使用ipython3
之类的内容,我希望"因素排除"此伪代码中的mytable
关键字:
import pandas as pd
mytable = pd.read_csv('test.dat',sep='\t')
cd mytable
z = x + y
q = z**2
mytable
是否有可能简化这样的语法。如果解决方案使用额外的ipython功能,那也没关系。
备注:我使用了" cd
"关键字遵循pgf / tikz语法,这样的事情是可能的。
答案 0 :(得分:1)
Python的设计并不能真正实现这一点,因为它会导致含糊不清。有关该主题的详细讨论,请参阅here。
考虑这样的代码:
class X(object):
def __init__(self, q):
self.q = q
x = X(4)
q = 3
# del x.q
with x:
print q
这应该打印4,我假设。
现在,考虑启用del
语句。这应该会引发错误(因为q
中缺少x
吗?)还是应该打印3(因为全局变量q
更多)?由于这很难决定,不同的人可以有效地拥有不同的意见,因此Python决定不再使用此功能。