Pythonであなたが持っていると言う
s = "string"
i = 0
print s+i
エラーが発生するので、
print s+str(i)
エラーが発生しないようにします。
これは、intと文字列の連結を処理するための非常に不器用な方法だと思います。Javaでさえ、この種の連結を行うためにStringに明示的にキャストする必要はありません。この種の連結を行うためのより良い方法はありますか?つまり、Pythonで明示的にキャストする必要はありませんか?
Pythonであなたが持っていると言う
s = "string"
i = 0
print s+i
エラーが発生するので、
print s+str(i)
エラーが発生しないようにします。
これは、intと文字列の連結を処理するための非常に不器用な方法だと思います。Javaでさえ、この種の連結を行うためにStringに明示的にキャストする必要はありません。この種の連結を行うためのより良い方法はありますか?つまり、Pythonで明示的にキャストする必要はありませんか?
最新の文字列フォーマット:
"{} and {}".format("string", 1)
文字列のフォーマットなし:
>> print 'Foo',0
Foo 0
新しいスタイルの.format()
メソッドを使用した文字列のフォーマット(デフォルトでは.format()が提供します):
'{}{}'.format(s, i)
または、古いが「まだ固執している」、%
-formatting:
'%s%d' %(s, i)
上記の両方の例では、連結された2つのアイテムの間にスペースはありません。スペースが必要な場合は、フォーマット文字列に追加するだけです。
これらは、アイテムを連結する方法、アイテム間のスペースなどについて多くの制御と柔軟性を提供します。フォーマット仕様の詳細については、これを参照してください。
Pythonは興味深い言語であり、特定のタスクを実行するための「明白な」方法は通常1つ(または2つ)ありますが、柔軟性は依然として存在します。
s = "string"
i = 0
print (s + repr(i))
上記のコードスニペットはPython3構文で記述されていますが、バージョン3で必須になるまで、印刷後の括弧は常に許可されていました(オプション)。
お役に立てれば。
ケイトリン
format()メソッドを使用して、文字列と整数を連結できます
print(s+"{}".format(i))
Python 3.6以降では、次のようにフォーマットできます。
new_string = f'{s} {i}'
print(new_string)
あるいは単に:
print(f'{s} {i}')
印刷したいだけなら、これを行うことができます:
print(s , i)
次のような状況で文字列と整数を連結するとします。
for i in range(1,11):
string="string"+i
タイプまたは連結エラーが発生します
それを実行するための最良の方法は、次のようなことを行うことです。
for i in range(1,11):
print("string",i)
これにより、文字列1、文字列2、文字列3などの連結結果が得られます。
Fストリングも使えます!
s = "string"
i = 95
print(f"{s}{i}")