본문 바로가기

Python

Python에서 string을 bool로 바꾸기

동아리 과제를 하면서 python으로 문자열 'true'를 bool 타입 True로, 문자열 'false'를 bool 타입 False로 바꿔야 했다.


더 자세한 상황을 설명하자면,

자바스크립트로 체크박스의 checked 어트리뷰트를 파라미터로 서버에 보내면 

DB에서 요소를 필터링을 하기 위해 string을 bool로 바꿔야했다.


처음에 다른 타입을 문자열로 바꿀 때 str()을 사용했던 것이 기억나 bool()을 사용했으나

string 값과 무관하게 항상 True로 변환됐다.


결론만 말하자면, bool()은 인자로 주어진 문자열이 빈 문자열이 아니면 항상 True를, 빈 문자열이면 False를 반환한다.


따라서 string 'true','false'를 bool로 바꾸고 싶다면 'true'와 비교하는 것이 좋다.


string_true = 'true'

string_false = 'false'


bool_true = (string_true == 'true')

bool_false = (string_false == 'true')


참고: http://stackoverflow.com/questions/715417/converting-from-a-string-to-boolean-in-python