ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python repr eval 사용
    python 기초 2023. 1. 24. 12:43
    728x90

    python의 strrepr 함수가 비교되는 경우가 있는데

    검색해보니 실제로 그 용도나 성격이 많이 다름을 알 수 있다.

    찾아보고 이해한 바에 따르면 아래와 같다.


    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
Designed by Tistory.