是否有一些等同于from __future__ import print_function
从python 2.x转发print
语句?
在原型制作过程中,我可以接受一些ipython
魔法的答案,让我可以打印而不需要周围的parens。
答案 0 :(得分:1)
对IPython的一些建议
%autocall
print "Hi"
使用自动调用定义魔法
from IPython.core.magic import register_line_magic
@register_line_magic
def p(line):
print(line)
p "Hi"
使用自动关闭定义魔法
from IPython.core.magic import register_line_magic
@register_line_magic
def p(line):
print(eval(line))
%p "Again"
您可以为线魔术功能创建.config / ipython / profile_default / startup / autoprint.py文件。
答案 1 :(得分:0)
临时答案(不涉及前导/
的解决方案将是首选。):IPython automatically calls一个对象,如果行以/
开头,即使它是缩进的:
def f():
/print 'foo'
f()
打印foo
。
编辑:
IPython还具有%autocall
魔术功能,可以自动调用函数,因此在执行%autocall 1
后,在单元格中键入print 3
就像print
一样在python 2.x中(虽然遗憾的是在/
这样的函数定义中不起作用。
此外,由于它是一个函数而不是一个语句,你可以简单地执行p = print
,因此后来的/p 'foo'
调用会给你几乎pdb
的行为(就像我一样)但问题并没有在问题中明确说明。