2013-11-27 5 views
11

from __future__ import print_functionには、printの文をPython 2.xから順方向に転送するものがありますか?from past import print_statement

プロトタイプ作成中に周囲の括約筋を必要とせずに印刷できるようにするために、ipythonの魔法を含む回答も受け入れられます。

+2

もしそれが単なるインタラクティブなシェルのためのものなら、 'print'する必要はありませんか?式を書くだけで結果を見ることができます。 –

+1

ルビー –

+0

@tobias_kはい、しばしば私は機能からの情報の印刷、または単一のセル内からの連続した複数のステートメントの印刷が好きです。 – beardc

答えて

0

暫定答え(大手/が好ましいであろう伴わない溶液。):IPython automatically callsオブジェクトの行は、それがインデントいた場合でも、/で始まる場合:

def f(): 
    /print 'foo' 

f() 

プリントfoo

編集:IPythonもよく、自動的にかかわらず、(Pythonの2.xでprint様細胞の行為にprint 3を入力し、%autocall 1をやった後ので、関数を呼び出し、%autocall魔法の機能を持っている

  1. これは残念ながら/のような関数定義では機能しません。

  2. また、関数でありステートメントではないので、単にp = printを行うことができます後で/p 'foo'コールはほぼpdbのような動作をします(私が行っていたことですが、質問に明示されていない)。

1

IPython

のためのいくつかの提案あなたがの.config/ipythonを作成することができautocallオフ

from IPython.core.magic import register_line_magic 
@register_line_magic 
def p(line): 
    print(eval(line)) 
%p "Again" 

で魔法を定義

from IPython.core.magic import register_line_magic 
@register_line_magic 
def p(line): 
    print(line) 
p "Hi" 

にautocallと魔法の定義/ profile_default/startup/autoあなたの行の魔法の機能のためのprint.pyファイル。

関連する問題