gpt4 book ai didi

python __getattr__ 自动完成

转载 作者:行者123 更新时间:2023-12-01 16:23:15 26 4
gpt4 key购买 nike

__getattr__ 可用于定义对象的属性。例如。以下代码将返回'bar'

class Test(object):
def __getattr__(self, key):
if key == 'foo':
return 'bar'
t = Test()
t.foo

为了让生活更轻松一些,我希望能够在 ipython 中输入 t.,然后用制表符补全属性名称。我似乎无法找到如何做到这一点,虽然它似乎是可能的。例如。在ipython中运行以下代码

import pandas
df = pandas.DataFrame(data={'foo': ('bar',)})

输入 df. 并使用制表符完成可以选择 foo 选项。我找不到 pandas 如何在其代码中执行此操作,所以我在这里询问。我应该向我的 Test 类中添加什么以使制表符完成功能正常工作?

最佳答案

您可以使用__dir__方法来实现这一点。下面是包含 DataFrame 的类的示例

def __dir__(self):
return self.df.keys()

关于python __getattr__ 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44162283/

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