Pythonで整数を文字列に変換する

2009年06月07日に質問されました。  ·  閲覧回数 3.5M回  ·  ソース

Hick picture
2009年06月07日

Pythonで整数を文字列に変換したい。 私はそれを無駄に型キャストしています:

d = 15
d.str()

文字列に変換しようとすると、 int strという属性がないなどのエラーが表示されます。

回答

Bastien Léonard picture
2009年06月07日
2158
>>> str(10)
'10'
>>> int('10')
10

ドキュメントへのリンク:

文字列への変換は、組み込みのstr()関数を使用して行われます。この関数は、基本的に、パラメーターの__str__()メソッドを呼び出します。

Lasse V. Karlsen picture
2009年06月07日
131

これを試して:

str(i)
Andrea Ambu picture
2009年06月07日
64

Pythonには型キャストも型強制もありません。 変数を明示的に変換する必要があります。

オブジェクトを文字列に変換するには、 str()関数を使用します。 __str__()というメソッドが定義されているすべてのオブジェクトで機能します。 実際には

str(a)

と同等です

a.__str__()

何かをint、floatなどに変換したい場合も同じです。

nik picture
2009年06月07日
18

整数以外の入力を管理するには:

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0
maxaposteriori picture
2009年06月07日
15
>>> 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
SuperNova picture
2018年07月20日
12

Python => 3.6では、 fフォーマットを使用できます。

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>
Mohamed Makkaoui picture
2019年06月25日
11

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に、PythonStringをIntに変換する

Nikolas picture
2015年05月06日
7

私の意見で最もまともな方法は「です。

i = 32   -->    `i` == '32'
SuperNova picture
2017年12月11日
7

%sまたは.formatを使用できます:

>>> "%s" % 10
'10'
>>>

または:

>>> '{}'.format(10)
'10'
>>>
Eugene picture
2018年02月09日
5

intを特定の桁の文字列に変換したい場合は、以下の方法をお勧めします。

month = "{0:04d}".format(localtime[1])

詳細については、StackOverflowの質問「先頭にゼロが付いた表示番号」を参照してください。