-
python repr eval 사용python 기초 2023. 1. 24. 12:43728x90
python의 str과 repr 함수가 비교되는 경우가 있는데
검색해보니 실제로 그 용도나 성격이 많이 다름을 알 수 있다.
찾아보고 이해한 바에 따르면 아래와 같다.
str() repr() 용도 데이터를 string으로 변환 해당 데이터를 다시 생성할 수 있는 명령어 코드를 돌려보며 감을 잡아보았다.
import datetime print("string 의 경우") cur_time=datetime.datetime.now() str_time = str(cur_time) print(str_time) print("repr 의 경우") repr_time = repr(cur_time) print(repr_time) print(eval(repr_time))
위와 같이 사용할 때, string의 경우 자연스럽게 cur_time의 data를 string으로 저장하게 된다.
repr의 경우, datetime.datetime(2023, 1, 24, 12, 32, 3, 178779) 이라는, 현재의 결과를 그대로 재생산 할 수 있는 명령어를 준다.
여기서 신기했던 부분은, datetime.datetime.now() 을 주는게 아닌, cur_time 자체를 해석하여 동일한 결과를 낼 수 있는 명령어를 준다는 것이다.
다시 동일한 결과를 얻기 위해서는 eval 함수를 통해 repr 된 내용을 다시 실행하면 된다.
eval(repr) 을 연달아 실행 시킨 결과는 처음 데이터 형태가 된다. 이런 기능을 기본적으로 제공한다는게 참 신기하다..
728x90'python 기초' 카테고리의 다른 글
한글 url 변환 (0) 2023.01.25 pandas iloc loc 차이 (0) 2023.01.25 type annotation (0) 2023.01.24 python generator (0) 2023.01.23 python iterator (0) 2023.01.23