148

Python 2では、次を使用しました:

print "a=%d,b=%d" % (f(x,n),g(x,n))

私はもう試した:

print("a=%d,b=%d") % (f(x,n),g(x,n))
4

9 に答える 9

234

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}')
于 2013-10-18T19:04:19.070 に答える
63

最も推奨される方法は、formatメソッドを使用することです。詳しくはこちら

a, b = 1, 2

print("a={0},b={1}".format(a, b))
于 2013-10-18T19:06:12.120 に答える
37

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
于 2016-06-16T01:19:18.927 に答える
18

簡単な例:

print("foo %d, bar %d" % (1,2))

于 2014-04-22T17:15:25.607 に答える
2
print("Name={}, balance={}".format(var-name, var-balance))
于 2016-10-24T14:49:52.403 に答える
2

your%は括弧の外にあるため、呼び出しの結果print(...)変数を挿入しようとしています。が返されるため、これは機能しません。また、この時点で既にテンプレートを印刷しており、タイムトラベルが私たちが住む宇宙の法則によって禁止されているという小さな問題もあります.printprint(...)None

およびそのオペランドを含む、出力したいもの全体が呼び出し%にある必要があります。これにより、文字列を出力する前に構築できます。print(...)

print( "a=%d,b=%d" % (f(x,n), g(x,n)) )

わかりやすくするために、いくつかの余分なスペースを追加しました (ただし、それらは必要ではなく、一般的に良いスタイルとは見なされません)。

于 2013-10-18T19:13:26.310 に答える