Python 2では、次を使用しました:
print "a=%d,b=%d" % (f(x,n),g(x,n))
私はもう試した:
print("a=%d,b=%d") % (f(x,n),g(x,n))
Python 2では、次を使用しました:
print "a=%d,b=%d" % (f(x,n),g(x,n))
私はもう試した:
print("a=%d,b=%d") % (f(x,n),g(x,n))
Python2 では、print
次のステートメントを導入するキーワードでした。
print "Hi"
Python3 では、print
呼び出すことができる関数です。
print ("Hi")
どちらのバージョンでも、%
は左側に文字列を必要とし、右側に値または値のタプルまたはマッピング オブジェクト ( などdict
) を必要とする演算子です。
したがって、行は次のようになります。
print("a=%d,b=%d" % (f(x,n),g(x,n)))
また、Python3 以降の推奨事項は、-style{}
フォーマットの代わりに-style フォーマットを使用すること%
です。
print('a={:d}, b={:d}'.format(f(x,n),g(x,n)))
Python 3.6 では、さらに別の文字列フォーマット パラダイムである f-stringsが導入されています。
print(f'a={f(x,n):d}, b={g(x,n):d}')
最も推奨される方法は、format
メソッドを使用することです。詳しくはこちら
a, b = 1, 2
print("a={0},b={1}".format(a, b))
O'Reilly の Python Cookbook の簡単な printf() 関数。
import sys
def printf(format, *args):
sys.stdout.write(format % args)
出力例:
i = 7
pi = 3.14159265359
printf("hi there, i=%d, pi=%.2f\n", i, pi)
# hi there, i=7, pi=3.14
簡単な例:
print("foo %d, bar %d" % (1,2))
print("Name={}, balance={}".format(var-name, var-balance))
your%
は括弧の外にあるため、呼び出しの結果にprint(...)
変数を挿入しようとしています。が返されるため、これは機能しません。また、この時点で既にテンプレートを印刷しており、タイムトラベルが私たちが住む宇宙の法則によって禁止されているという小さな問題もあります.print
print(...)
None
およびそのオペランドを含む、出力したいもの全体が呼び出し内%
にある必要があります。これにより、文字列を出力する前に構築できます。print(...)
print( "a=%d,b=%d" % (f(x,n), g(x,n)) )
わかりやすくするために、いくつかの余分なスペースを追加しました (ただし、それらは必要ではなく、一般的に良いスタイルとは見なされません)。