gpt4 book ai didi

python - 本地切换到对象的命名空间

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:12 25 4
gpt4 key购买 nike

考虑以下简单示例:

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 功能,那就没问题。

备注:我在 pgf/tikz 语法后面使用了“cd”关键字,这样的事情是可能的。

最佳答案

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 语句。那么这应该引发错误(因为 x 中缺少 q 吗?)还是应该打印 3(因为更全局的变量 q )?由于这很难决定,而且不同的人可能有不同的意见,因此 Python 决定根本不提供此功能。

关于python - 本地切换到对象的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42576838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com