回答:
>>> str(10)
'10'
>>> int('10')
10
ドキュメントへのリンク:
文字列への変換は、str()
基本的__str__()
にそのパラメーターのメソッドを呼び出す組み込み関数で行われます。
これを試して:
str(i)
Pythonには型キャストや型強制はありません。明示的な方法で変数を変換する必要があります。
オブジェクトを文字列に変換するには、str()
関数を使用します。これは、__str__()
定義済みと呼ばれるメソッドを持つ任意のオブジェクトで機能します。実際には
str(a)
に相当
a.__str__()
何かをintやfloatなどに変換したい場合も同じです。
>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5
Python 3.6では、f-stringsの新機能を使用して文字列に変換できます。これは、str()関数に比べて高速で、次のように使用されます。
age = 45
strAge = f'{age}'
そのため、Pythonではstr()関数を提供しています。
digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>
より詳細な回答については、この記事をチェックできます:Python IntからStringへの変換およびPython StringからIntへの変換
私の意見で最もまともな方法は「です。
i = 32 --> `i` == '32'
intを特定の桁の文字列に変換する場合は、以下の方法をお勧めします。
month = "{0:04d}".format(localtime[1])
詳細については、スタックオーバーフローの質問先行ゼロ付きのディスプレイ番号を参照してください。
Python 3.6のf-stringsの導入により、これも機能します。
f'{10}' == '10'
str()
読みやすさは犠牲になりますが、実際にはを呼び出すよりも高速です。
実際、%x
文字列のフォーマットよりも高速.format()
です。