bool ( )
지금까지 문자열을 숫자로 변환하거나
반대의 경우에 사용하는 함수를 살펴보았다.
int ( )
float ( )
str ( )
bool ( ) 함수의 경우는
어떤 자료형을
불 (true / false)로
변환할 때 사용하는 함수로
넣을 수 있는 값들로는
1. none : flase
none은 나중에 자세히 다룬다
2. 숫자 0 및 0.0: false
모든 프로그래밍 언어에서
숫자 0은 기본적으로 false로
변환되는 값이다
3. 빈 컨테이너 : flase
빈 컨테이너란 내부에 값을
넣을 수 있는데 아무것도
가지고 있지 않을 경우를
빈 컨테이너라고 하며
종류로는
빈 문자열 ("")
빈 바이트 열 ( b"" )
빈 리스트 [ ]
빈 튜플 ( )
빈 딕셔너리 { }
가 있다.
이런저런 기초적인 문법들을
배우다 보면 문득
왜 이런 것을 알아야 하는가
라는 생각이 들 수 있는데
이런 사전 지식이 있어야만
읽을 수 있는 코드가 있기
때문이다.
예를 들어보자.
number : 4865321
if number != 0 :
print("처리를 한다")
else :
print("0이 나왔습니다")
결괏값이 0이 아닌 경우
원하는 조건을 처리해 주는 것과
결괏값이 0이 되어버리는 경우
그것을 사용자에게 알려주는 것.
위와 같이 코드를 작성하면
누구나 코드를 읽을 수 있는데
많은 개발자들이 위에 있는
!=0이라는 부분을 빼고
작성을 한다고 한다.
number : 4865321
if number :
print("처리를 한다")
else :
print("0이 나왔습니다")
바로 이런 식으로.
파이썬 언어는 if 문 뒤에
어떤 것이 와도 자동적으로
불로 변환을 해 준다는 특징이 있고
별도로 불의 조건을 명시해 주지 않아도
불의 값이 0이라면 false라는
사전 지식이 있다면 코드를
작성하는데 문제가 없다는 것.
하지만 사전 지식이 없다면 그 의미를
살펴보게 되며 중간에 멈칫하게 만드는데
이처럼 추가적인 생각을 하게 만드는
코드는 작성하지 않는 게 좋다고 한다.
예를 하나 더 보자
메신저 프로그램이 있다.
메시지가 비어있지 않을 때만
전송이 된다는 조건이 있다.
message = "";
if message:
print("처리를 한다")
else:
print("메시지를 입력하세요")
보다 보면 어떤 의도의 프로그램인지
알 수 있지만 역시나 사전 지식이 없다면
조금 멈칫하여 생각해 봐야 한다는 것.
이를 더 명확하게 표시해 주려면,
message = " ";
if message !=" "; :
print("처리를 한다")
else:
print("메시지를 입력하세요")
식으로 작성해 줄 수 있겠다.
하지만 코드는
간결하게 만들수록 좋다고 하고
사람에 따라서 선호하는 방식이
다를 수 있기에 어떤 방법이 옳다
그르다를 말할 수는 없지만
기초, 사전 지식을 잘 배워 놓아야
하는 이유가 바로 여기 있다.
pass 키워드
pass 키워드는 아무 의미는 없지만
어떤 코드를 넣어야 하는 상황이 있을 때
사용하는 키워드.
프로그램을 개발하다 보면
흐름을 먼저 잡아두고 추후에
내용을 처리하고 보강해 주는
경우가 많다고 하는데 그럴 때
사용하기 적합한 키워드이다.
예)
#한정수량 판매
choice = 0 #나중에
if choice !=0:
pass
else:
pass
이런 식으로 골격을 잡아둔다.
* 팁으로
개발 과정 중에 도움을 받을 수 있는
키워드로 raise가 있는데
어떤 메시지를 강제로 발생시켜
자칫 놓칠 수 있는 부분을
체크해 두는데 사용한다.
예)
number = int(input(">숫자 넣어라:")
if number > 0 :
raise NotImplemented Error
raise 키워드와
미구현 상태를 뜻하는
not implemented를 조합해
강제로 오류를 발생시키므로
놓치고 넘어갈 수 있는 부분들을
체크해 둘 수 있다는 것.
'프로그래밍 > Python' 카테고리의 다른 글
기초) list 관련 함수 / 파괴적.비파괴적 함수의 개념 (0) | 2020.05.21 |
---|---|
기초) list 기본 정리 (0) | 2020.05.21 |
기초) elif / else 구문 (0) | 2020.05.21 |
기초) If 조건문과 예제 (0) | 2020.05.20 |
기초) 비교연산자 boolean과 논리연산자 (2) | 2020.05.20 |