加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Ipython自动完成列表或对象的字典

发布时间:2020-12-16 23:15:11 所属栏目:Python 来源:网络整理
导读:我想在I Python(Jupyter qtconsole或控制台)中自动完成以下情况: 我创建了一个类 class MyClass(object): def __init__(self,a,b): self.a = a self.b = b 并将此类的几个对象放入列表或词典中 my_list = []my_list.append(MyClass(2,3))my_list.append(MyC
我想在I Python(Jupyter qtconsole或控制台)中自动完成以下情况:

我创建了一个类

class MyClass(object):
    def __init__(self,a,b):
        self.a = a
        self.b = b

并将此类的几个对象放入列表或词典中

my_list = []
my_list.append(MyClass(2,3))
my_list.append(MyClass(9,2))
my_list.append(MyClass(8,4))

现在,如果我这样做

my_list[0].TAB

自动完成功能无效.

我想看一下我的类属性和方法的列表.我错过了什么,或者这只是不支持IPython?

感谢您的帮助 …

解决方法

您可以在Jupyter Notebook的单元格中执行该操作:
%config IPCompleter.greedy=True

这给出了(在ipython / jupyter控制台中,但在笔记本中相同)

In [10]: my_list[0].<TAB>
my_list[0].a  my_list[0].b

要永久保存它,只需编辑您的文件ipython_config.py,使其看起来像这样(注释行已经存在且未经修改,在第506-514行附近):

#------------------------------------------------------------------------------
# Completer configuration
#------------------------------------------------------------------------------

# Activate greedy completion
# 
# This will enable completion on elements of lists,results of function calls,# etc.,but can be unsafe because the code is actually evaluated on TAB.
c.Completer.greedy = True # <-- uncomment this line and set it to True

如果?/ .ipython / profile_default /中没有ipython_config.py,您可以创建一个:

ipython profile create

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读