str () 와repr () 내장 함수

내장 함수str()와repr()(representation, 표현, 표시) 또는 인덱스 조작부호(``)는 문자열로 대상의 내용, 유형, 수치 속성 등 정보를 쉽게 얻을 수 있다.str () 함수에서 얻은 문자열은 읽을 수 있고 (그러므로 print에 호출됨), repr () 함수에서 얻은 문자열은 보통 이 대상을 다시 얻을 수 있으며, 일반적인 경우obj==eval (repr (obj)) 이 등식은 성립된다.이 두 함수는 하나의 대상을 매개 변수로 받아들여 적당한 문자열을 되돌려줍니다.
사실 리퍼 ()는 ``와 같은 일을 하고 대상의 '공식' 문자열을 되돌려줍니다.그 결과 절대 다수의 경우 (모든 것이 아니다) 값을 구하는 연산 (내장 함수 eval ())) 을 통해 이 대상을 다시 얻을 수 있다.
str () 는 다르다. 대상의 읽을 수 있는 문자열을 생성하고, 결과는 보통 eval () 로 값을 구할 수 없지만 print 출력에 적합하다.
예를 들면 다음과 같습니다.
>>>classD(object):...def__str__(self):...return"a __str__"...def__repr__(self):...return"a __repr__"...>>>dr=D()>>>printdra__str__>>>dra__repr__>>>"%s"%dr'a __str__'>>>"%r"%dr'a __repr__'

왜 리퍼()가 있으면 ``가 필요합니까?
Python에서 어떤 조작부호와 함수는 같은 일을 하는데, 왜냐하면 어떤 경우에 함수는 조작부호보다 사용하기에 더욱 적합하기 때문이다. 예를 들어 함수 대상이 매개 변수로 전달될 수 있기 때문이다.쌍성호(★) 곱셈 연산과pow() 내장 함수는 모두 x의 y차원으로 되돌아간다.

좋은 웹페이지 즐겨찾기