26

私はPythonが初めてで、間に余分なスペースを追加せずに複数の値を出力する方法を考えています. 2回呼び出す必要abはなく、出力が必要です。a bprint

print("a", end="")
print("b")

また、次のコードがあります。

a = 42
b = 84 

そして、それらの値を として出力したいのですがa = 42, b = 84、そうすると

print("a = ", a, ", ", b = ", b)

余分なスペースが追加されます(出力されますa = 42 , b = 84

一方、Java スタイルは、

print("a = " + a + ", b = " + b)

を発生させTypeErrorます。

4

6 に答える 6

43

パラメーターを使用してsep、スペースを取り除くことができます。

>>> print("a","b","c")
a b c
>>> print("a","b","c",sep="")
abc

「Java スタイル」の意味がわかりません。Python では、(たとえば) 整数にそのように文字列を追加することはできませんが、abが文字列の場合は機能します。もちろん、他にもいくつかのオプションがあります。

>>> print("a = ", a, ", b = ", b, sep="") 
a = 2, b = 3
>>> print("a = " + str(a) + ", b = " + str(b))
a = 2, b = 3
>>> print("a = {}, b = {}".format(a,b))
a = 2, b = 3
>>> print(f"a = {a}, b = {b}")
a = 2, b = 3

最後のものには Python 3.6 以降が必要です。以前のバージョンでは、同じ効果をシミュレートできます (ただし、これは一般的にはお勧めしませんが、便利な場合があり、それ以外のふりをする意味はありません)。

>>> print("a = {a}, b = {b}".format(**locals()))
a = 2, b = 3
>>> print("b = {b}, a = {a}".format(**locals()))
b = 3, a = 2
于 2012-10-03T01:06:13.440 に答える
0

print()引数の間に自動的にスペースを作ります。

>>> print("a", "b", "c")
a b c

間隔をより細かく制御するには、文字列の書式設定を使用できます。

>>> v0, v1, v2 = "a", "b", "c"
>>> print("%s%s%s" % (v0, v1, v2))
abc
>>> print("%s%s%s".format(v0, v1, v2)
abc
>>> print(f"{v0}{v1}{v2}")
abc

この件に関するこのガイドが好きです: https://realpython.com/python-f-strings/

于 2019-11-19T07:59:09.687 に答える