gpt4 book ai didi

ipython - 如何使用 %edit magic 打印我定义的对象的源代码

转载 作者:行者123 更新时间:2023-12-04 02:02:52 25 4
gpt4 key购买 nike

Ipython 0.13.1 可以从 python 库打印对象的来源,
例如,os.path.abspath??
但是我无法打印我在 ipython 中通过 %ed 魔法定义的任何对象的源代码,
我做错了什么吗?
例如,我通过 %ed 魔法定义了一个类名:

%ed  

那么
class Name(object):
"""docstring for Name"""
name = 'hong'
def __init__(self, arg):
super(Name, self).__init__()
self.arg = arg
def pri():
print 'class Name'

回到ipython,看不到类名的源代码:
In [59]: Name??
Type: type
String Form:<class '__main__.Name'>
Docstring: docstring for Name
Constructor information:
Definition:Name(self, arg)

这是IPython的错误吗?

最佳答案

-- 在 OP 提到这之后的编辑可以在 ipython 本身中看到。

输入 %ed myfunc 后是否有任何错误消息?粘贴可能有助于其他人找到问题。

---更新:

当我尝试 Name?? 时,我也得到了一个简短版本的源代码,但是 Name.pri??给了我 Name 类的 pri() 成员函数的完整源代码。所以 ipython 可能有一些约定,不提供类的完整源代码。

这是我的互动:

    In [2]: Name??
Type: type
String Form:<class '__main__.Name'>
Docstring: docstring for Name
Constructor information:
Definition:Name(self, arg)

In [3]: Name.pri??
Type: instancemethod
String Form:<unbound method Name.pri>
File: /tmp/ipython_edit_8YOfN9.py
Definition: Name.pri()
Source:
def pri():
print 'class Name'

In [4]:

关于ipython - 如何使用 %edit magic 打印我定义的对象的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13909536/

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