자료형을 변환하기 위한 함수로 int(), str(), float()가 있다.
a = 10
a를 10으로 초기화시키면 변수 a는 int형 숫자 10이 된다. str함수를 이용하면 10을 숫자가 아닌 문자열로 변경할 수 있다.
a = 10
print(type(a))
a_str = str(a)
print(type(a_str))
str() 함수를 이용해 형 변환 후 자료형 타입을 확인해보면 str로 나오는 것을 확인할 수 있다.
<class 'int'>
<class 'str'>
그럼 bool함수는 어떻게 사용할까? bool자료형은 true, false 둘 중 하나인데?
bool함수에 전달인자로 전달되는 변수에 어떤 값이 있으면 true를 반환하고, 없으면 False를 반환한다. 아래 코드를 보자.
a = 10
print(bool(a))
변수 a를 10으로 초기화 시키고 bool 함수에 전달해 출력해보면 True가 출력되는것을 확인할 수 있다.
변수 a를 문자열로 초기화하고 bool함수에 전달해보자.
a = "Test"
print(bool(a))
결과는 True, 변수 a에 어떤 값이 있기때문에 True를 출력한다.
bool()함수가 False를 출력하는 경우는 변수에 값이 0, 0.0 이거나, 빈 컨테이너, None인 경우다.
아래 코드를 보자.
a = ""
print(bool(a))
변수 a에 어떤 문자도 넣지 않고 큰따옴표로 문자열을 대입하고 bool() 함수에 전달하면 False를 출력하는것을 확인 할 수 있다.
a = []
print(bool(a))
변수 a를 빈 list로 초기화 시키고 bool() 함수에 전달하면 False 를 출력하는것을 확인할 수 있다. tuple, dict 모두 같은 결과를 출력할 것이다.
그럼 이걸 어디서 활용할까? 아래 코드를 보자.
a = 10
if a :
print("변수 a = {}".format(a))
else :
print("빈 변수입니다.")
변수 a를 10으로 초기화시키고 if 문에서 조건으로 사용했다. a에 어떤 값이 있기 때문에 파이썬에서는 if문에 조건으로 들어간 a를 bool()함수를 이용해 형변환을 하고 true, false여부를 판단한다. 출력결과는 "변수 a = 10"이다.
위 코드를 조금 다르게 바꿔보면
a = 10
if a != 0:
print("변수 a = {}".format(a))
else :
print("a는 0입니다.")
a는 0이랑 같지 않기 떄문에 if의 조건을 만족한다. 첫번쨰 코드와 두번째 코드 모두 동일한 결과를 출력하지만, 코드의 가독성면에서는 두번째 코드가 더 좋다고 말할 수 있다. 가급적이면 두번째와 같은 방식으로 코드를 작성하는 것이 모두를 위해 좋을것 같다.
- 끝 -
'Programming language > Python' 카테고리의 다른 글
[Python-개발환경] 설치된 Package 버전 확인하기, 파이썬 패키지 버전 확인하기 (0) | 2022.08.02 |
---|---|
오늘의 파이썬_[키워드] 파이썬 raise NotImplementedError (0) | 2022.06.24 |
오늘의 파이썬_[함수] type 함수, 변수의 자료형 (0) | 2022.06.15 |
오늘의 파이썬_[연산자] 파이썬 연산자, 파이썬 삼항연산자 (0) | 2022.06.06 |
오늘의 파이썬_[반복문] for, while, do~while (0) | 2022.05.29 |