__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
选项。我无法在其代码中找到熊猫是如何做到的,所以我在这里问。我应该向Test
课程添加什么才能使标签完成工作?
答案 0 :(得分:3)
您可以使用__dir__
方法来实现。
以下是包含DataFrame的类的示例
def __dir__(self):
return self.df.keys()