몰입공간
[Python] boolean 값을 활용한 숫자 연산 (Calculations with bool) 본문
Programming/Python
[Python] boolean 값을 활용한 숫자 연산 (Calculations with bool)
sahayana 2022. 2. 4. 09:58#1. Bool 자료형
대부분 아시는 것 처럼, Bool 자료형은 True/False 두가지의 값을 가지는 자료형입니다.
파이썬 대부분의 자료형들은 보통 요소의 여부에 따라 Bool 값을 가지고 있습니다.
예를 들어 비어있는 리스트, 튜플, 딕셔너리, "" 등은 False 값을 가지고, 요소가 하나라도 있다면 True를 반환합니다.
숫자형의 경우는 1(True) / 0(False) 로 나타내죠.
근데 파이썬에서는 True / False의 값을 1, 0 숫자로 치환하여 연산에 적용할 수 있습니다.
대단한 건 아니지만, 흔히 소개되는 내용은 아니라서 혹시라도 설계에 도움이 될 까 싶어 공유합니다.
#2. 실습
숫자 n을 매개변수로 받는 함수 num을 정의합니다.
def num(n):
return 20 - (n > 10)
print(num(11)) #19
print(num(10)) #20
함수의 return 값에 숫자와 조건을 연산으로 넣었습니다.
이는 조건문이 True면 1을 반환하고 False면 0을 반환하는 자료형 특성때문에 가능한 연산입니다.
유저의 생일을 매개변수로 받아 나이를 계산하는 다음과 같은 함수에도 동일하게 적용할 수 있습니다.
from datetime import date
birthday1 = date(2000, 1, 1)
birthday2 = date(2000, 12, 12)
def age(birthday):
today = date.today()
age = today.year - birthday.year - ((today.month, today.day) < (birthday.month, birthday.day))
return age
print(age(birthday1)) # 22살
print(age(birthday2)) # 21살
'Programming > Python' 카테고리의 다른 글
[Python] 제너레이터 (Generator) (0) | 2022.02.24 |
---|---|
[Poetry] VScode에서 Poetry 활용하기 (Using python poetry in VScode) (0) | 2022.02.10 |
[MongoDB] GridFS 파일 업데이트 하는 방법 (0) | 2022.01.10 |
[Python] 자료형에 따른 함수 작용 (0) | 2021.12.24 |
[Pymongo] mongoDB 중복 데이터 제거하기 (0) | 2021.12.20 |
Comments