有时当我输入问号时,就像这样:
data["mass"]?
我收到语法错误。我必须使用help(data["mass"])
才能获取信息。任何想法如何使这项工作?
答案 0 :(得分:1)
我发现?
(和??
)在应用于变量或函数名称时效果最佳,而不是表达式。
x = data['mass']
x?
y = 1.232
y?
z = 'astring'
z?
可能有一些表达方式有效,但通常没有。我最常用它来获取函数的信息,而不是任意对象。在上面的表达式中y?
为我提供了有关float
,type(y)
创建者的信息。
我怀疑?
使用完成者
http://ipython.readthedocs.org/en/stable/api/generated/IPython.core.completer.html
如果找到具有 getattr 挂钩的对象,则对NAME.NAME ...表单的评估可能会导致执行任意应用程序定义的代码。由于应用程序(或用户)有责任启用此功能,因此我认为这是可接受的风险。不评估更复杂的表达式(例如函数调用或索引操作)。
scipy.sparse
矩阵是定义自己的__getattr__
的类的示例。
来自%magic
%pinfo:
Provide detailed information about an object.
'%pinfo object' is just a synonym for object? or ?object.
%pinfo2:
Provide extra detailed information about an object.
'%pinfo2 object' is just a synonym for object?? or ??object.
在%pinfo
返回not found
的情况下, ?
似乎会返回syntax error
。
In [265]: %pinfo data['mass']
Object `data['mass']` not found.
In [266]: %pinfo x+1
Object `x+1` not found.
In [267]: %pinfo data.get
Type: builtin_function_or_method
String form: <built-in method get of dict object at 0xb2d700ac>
Docstring: D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.