개발/Python

파이썬에서 정수를 문자열로 변환

MinorMan 2020. 9. 18. 02:57
반응형

<질문>

파이썬에서 정수를 문자열로 변환하고 싶습니다. 나는 그것을 헛되이 타입 캐스팅하고 있습니다.

d = 15
d.str()

문자열로 변환하려고하면 int에 str이라는 속성이없는 것과 같은 오류가 표시됩니다.


<답변1>

>>> str(10)
'10'
>>> int('10')
10

문서 링크 :

문자열로의 변환은 기본적으로 매개 변수의 __str __ () 메서드를 호출하는 내장 str () 함수로 수행됩니다.


<답변2>

이 시도:

str(i)

<답변3>

Python에는 typecast 및 유형 강제가 없습니다. 변수를 명시적인 방식으로 변환해야합니다.

문자열의 객체를 변환하려면 str () 함수를 사용합니다. __str __ ()이라는 메서드가 정의 된 모든 객체와 함께 작동합니다. 사실로

str(a)

다음과 같다

a.__str__()

무언가를 int, float 등으로 변환하려는 경우에도 마찬가지입니다.


<답변4>

정수가 아닌 입력을 관리하려면 :

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0

<답변5>

>>> 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

<답변6>

Python => 3.6에서는 f 형식화를 사용할 수 있습니다.

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>

<답변7>

Python 3.6의 경우 f-strings 새 기능을 사용하여 문자열로 변환 할 수 있으며 str () 함수에 비해 더 빠릅니다. 다음과 같이 사용됩니다.

age = 45
strAge = f'{age}'

파이썬은 이러한 이유로 str () 함수를 제공합니다.

digit = 10
print(type(digit)) # Will show 
convertedDigit = str(digit)
print(type(convertedDigit)) # Will show 

더 자세한 답변은 Python Int를 String으로, Python String을 Int로 변환 기사를 참조하십시오.


<답변8>

내 생각에 가장 괜찮은 방법은``.

i = 32   -->    `i` == '32'

<답변9>

% s 또는 .format을 사용할 수 있습니다.

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

또는:

>>> '{}'.format(10)
'10'
>>>

<답변10>

int를 특정 숫자의 문자열로 변환하려는 사람에게는 아래 방법을 권장합니다.

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

자세한 내용은 스택 오버플로 질문 앞에 0이있는 디스플레이 번호를 참조하세요.


<답변11>

Python 3.6에 f- 문자열이 도입되면 다음과 같이 작동합니다.

f'{10}' == '10'

가독성을 희생하면서 실제로 str ()을 호출하는 것보다 빠릅니다.

실제로 % x 문자열 형식화 및 .format ()보다 빠릅니다!


<답변12>

다음은 더 간단한 해결책입니다.

one = "1"
print(int(one))
>>> 1

위의 프로그램에서 int ()는 정수의 문자열 표현을 변환하는 데 사용됩니다.

참고 : 문자열 형식의 변수는 변수가 완전히 숫자로 구성된 경우에만 정수로 변환 할 수 있습니다.

같은 방식으로 str ()은 정수를 문자열로 변환하는 데 사용됩니다.

number = 123567
a = []
a.append(str(number))
print(a) 

목록을 사용하여 출력을 인쇄하여 변수 (a)가 문자열임을 강조했습니다.

>>> ["123567"]

그러나 목록이 문자열과 정수를 저장하는 방법의 차이점을 이해하려면 먼저 아래 코드를 확인한 다음 출력을 확인하십시오.

a = "This is a string and next is an integer"
listone=[a, 23]
print(listone)
>>> ["This is a string and next is an integer", 23]
반응형