본문 바로가기
두두 IT/파이썬

[PYTHON 2-2] 데이터 타입과 연산자

by DoDo's 2026. 4. 14.
반응형

📚 데이터 타입과 연산자 완벽 정복

1. 숫자형 (Numeric)

  • 정수 (int): 10, -20, 0
    • 16진수 표기: 0x로 시작 (0xAF32)
    • 8진수 표기: 0o로 시작 (0o71)
  • 실수 (float): 20.1, 0.123
    • 지수 표기법: 5e3 ($5 \times 10^3 = 5000.0$), 3e-7 ($3 \times 10^{-7}$)
    • 참고: 코드를 보기 쉽게 숫자 사이에 _를 넣을 수 있습니다. (100_000_000 = 1억)

2. 논리형 (bool)

오직 **참(True)**과 거짓(False) 두 가지만 존재합니다.

  • 묵시적 형변환: 파이썬은 데이터가 비어있으면 False, 들어있으면 True로 판단합니다.
    • False 취급: 0, 0.0, "" (빈 글자), None
    • True 취급: 0이 아닌 모든 숫자(음수 포함), 공백 스페이스(" ")를 포함한 모든 글자

3. 사용자 입력받기 input()

사용자에게 값을 키보드로 입력받습니다. ★중요: 사용자가 숫자를 쳐도 무조건 '문자열(str)'로 들어옵니다. 계산하려면 int()로 형변환을 해야 합니다.

age_str = input("나이:")      # "30" (문자열)
age = int(age_str)            # 30 (정수)

 

4. 파이썬의 연산자 총정리

① 산술 연산자

일반적인 +, -, *, / 외에 다음 3가지가 핵심입니다.

  • // : 만 구하기 (10 // 3 ➔ 3)
  • % : 나머지만 구하기 (10 % 3 ➔ 1)
  • ** : 제곱 (3 ** 5 ➔ 243)

② 대입(할당) 연산자

내 변수 값에 계산을 바로 적용하여 업데이트합니다.

  • x += 1 (x = x + 1과 같음)
  • x *= 2 (x = x * 2와 같음)

③ 비교 연산자 (결과는 항상 bool)

  • == (같다), != (다르다)
  • >, <, >=, <=

④ 논리 연산자

여러 조건을 합칠 때 사용합니다.

  • and (또는 &): 양쪽 모두 True여야 True
  • or (또는 |): 둘 중 하나만 True여도 True
  • not: 결과 뒤집기 (not True ➔ False)
  • ^ (XOR): 양쪽 값이 서로 다를 때만 True

⑤ 조건 연산자 (삼항 연산자)

코드를 아주 간결하게 만들어 줍니다.

  • 문법: [True일 때 값] if [조건식] else [False일 때 값]
age = 25
result = "성년" if age > 20 else "미성년"  # result에는 "성년"이 저장됨

 

5. 파이썬은 '동적 타입(Dynamic Type)' 언어다

변수를 처음 만들 때 "이 상자는 무조건 숫자 전용이야!"라고 고정(정적 타입)하지 않습니다. age = 30을 넣었다가 바로 다음 줄에 age = "서른살" 문자를 넣어도 에러 없이 부드럽게 돌아가는 매우 유연한 언어입니다.

  • 참고: 타입 힌트 (코드 읽기를 돕는 기능)
  • name: str = "홍길동" 처럼 적을 수 있지만, 강제성은 없습니다.

📝 [2편 복습 퀴즈]

Q1. 10 % 3 의 연산 결과는 무엇인가요?

① 3.333

② 3

③ 1

④ 0

 

Q2. 다음 중 값을 논리형(bool)으로 변환했을 때 False가 나오는 것은?

① bool(" ") (스페이스 공백)

② bool(-5)

③ bool("False")

④ bool(0)

 

Q3. input() 함수로 사용자에게 "100"을 입력받았습니다. 이 100을 수학적으로 계산하기 위해 감싸주어야 하는 함수는 무엇인가요?

① str()

② int()

③ bool()

④ type()

 

Q4. 논리 연산자 중, 양쪽의 조건이 모두 True일 때만 최종적으로 True를 반환하는 연산자는?

① or

② not

③ ^ (XOR)

④ and

 

Q5. result = "합격" if score >= 80 else "불합격" 코드에서 score가 75라면 result에 저장되는 값은?

① 합격

② 불합격

③ 75

④ 에러 발생

 

 

 

 

 

💡 정답 확인

Q1: ③ (나머지) / Q2: ④ (숫자 0은 False) / Q3: ② (문자열을 정수로) / Q4: ④ / Q5: ②

반응형