파이썬에서 데이터 유형을 문자열로 어떻게 변경합니까?
답변
myvariable = 4
mystring = str(myvariable) # '4'
또한 대안 적으로 repr을 시도하십시오.
mystring = repr(myvariable) # '4'
이것을 파이썬에서 “변환”이라고하며 매우 일반적입니다.
답변
str
객체 데이터의 문자열 표현을 생성하기위한 것입니다. 당신이 당신의 자신의 수업을 작성하고 당신 str
을 위해 일하고 싶다면 , 다음을 추가하십시오
def __str__(self):
return "Some descriptive string"
print str(myObj)
전화 myObj.__str__()
합니다.
repr
비슷한 방법으로, 일반적으로 클래스 정보에 대한 정보를 생성합니다. 대부분의 핵심 라이브러리 객체의 repr
경우 꺾쇠 괄호 사이에 클래스 이름 (및 때로는 클래스 정보)이 생성됩니다. repr
예를 들어, print
다른 것을 사용하지 않고 인터랙션 창에 객체를 입력하면됩니다 .
다음 repr
과 같이 동작을 정의 할 수있는 것처럼 자신의 객체에 대한 동작을 정의 할 수 있습니다 str
.
def __repr__(self):
return "Some descriptive string"
>>> myObj
상호 작용 창에서 또는 repr(myObj)
에서 발생합니다myObj.__repr__()
답변
모든 답변을 사용하는 것이 좋습니다 str(object)
. 객체에 ASCII 문자보다 많은 문자가 있으면 오류가 발생할 수 ordinal not in range(128)
있습니다. 영어 이외의 언어로 문자열 목록을 변환하는 동안 이것은 나를위한 경우였습니다.
나는 그것을 사용하여 그것을 해결했다. unicode(object)
답변
str(object)
트릭을 할 것입니다.
객체가 문자열 화되는 방식을 변경하려면 __str__(self)
객체의 클래스에 대한 메소드를 정의하십시오 . 이러한 메소드는 str 또는 unicode 객체를 반환해야합니다.
답변
str
내장을 사용하십시오 .
x = str(something)
예 :
>>> str(1)
'1'
>>> str(1.0)
'1.0'
>>> str([])
'[]'
>>> str({})
'{}'
...
설명서에서 :
멋지게 인쇄 가능한 객체 표현을 포함하는 문자열을 반환합니다. 문자열의 경우 문자열 자체를 반환합니다. repr (object)와의 차이점은 str (object)가 eval ()에 허용되는 문자열을 항상 반환하지는 않는다는 것입니다. 그것의 목표는 인쇄 가능한 문자열을 반환하는 것입니다. 인수가 제공되지 않으면 빈 문자열 ”을 리턴합니다.
답변
로 str(x)
. 그러나 모든 데이터 형식은 고유 한 문자열 변환을 정의 할 수 있으므로 원하는 형식이 아닐 수도 있습니다.
답변
%s
아래와 같이 사용할 수 있습니다
>>> "%s" %([])
'[]'