# Python 공부 시리즈 4편: 변수·상수·리터럴 심화

Han·2025년 7월 11일

Python 입문 시리즈

목록 보기
5/14

4.1 변수와 상수 선언

Python은 동적 타이핑 언어이기 때문에, 변수 선언 시 타입을 명시할 필요가 없으며 = 연산자로 언제든지 값을 재할당할 수 있습니다.
변수는 메모리에 저장된 객체를 가리키는 이름(name)이며, 모든 값은 객체(object)입니다.

python

#기본 할당
a = 10		#int 객체 생성 후 a가 참조
b = 5.2		#float 객체 생성 후 b가 참조
c = "kopo"  #str 객체 생성 후 c가 참조

#다중 할당
x, y, z = 1, 2, 3

#체인 할당(모두 같은 객체를 참조)
m = n = o = 100
  • 상수(Constant) : Python에 언어 차원의 상수 문법은 없지만, 변경하지 않을 값은 모두 대문자 + 밑줄 표기 관례를 따릅니다.
python

PI = 3.14159
MAX_RETRY = 5

실제로 재할당은 가능하므로, "변경 금지"는 개발자 간 약속입니다.


4.2 리터럴 : 숫자, 문자열, 불리언, None

리터럴(Literal)은 소스 코드에 직접 쓰인 "원시 데이터"를 가리킵니다.

숫자형 리터럴

Python

a = 0b1010       # 이진 리터럴 → 10
b = 100          # 십진 리터럴
c = 0o310        # 8진 리터럴 → 200
d = 0x12c        # 16진 리터럴 → 300
f1 = 10.5        # 부동소수점 리터럴
f2 = 1.5e2       # 지수 표기법 → 150.0
z = 3.14j        # 복소수 리터럴

문자열 리터럴

Python

s1 = "Hello, Python"               # 작은/큰따옴표
s2 = 'kopo'                        # 한 글자도 str
s3 = """여러 줄
문자열 예제"""                      # 멀티라인 문자열
s4 = r"raw \n string"              # 원시 문자열 (이스케이프 무시)
s5 = u"\u00dcnic\u00f6de"          # 유니코드 리터럴

불리언 & None

Python

flag = True                        # True, False
nothing = None                     # 값 없음 표시
  • True는 내부적으로 1, False는 0으로 취급되기도 합니다.

4.3 컬렉션 리터럴(list, tuple, dict, set)

Python의 주요 컬렉션 타입들은 모두 리터럴 문법을 제공합니다.

리스트(List)

  • 선언 : 대괄호 [ ] 내부에 쉼표로 구분하여 요소 나열
  • 특징 : 순서 유지, 변경 가능(mutable), 다양한 메서드 지원
Python

fruits = ["apple", "mango", "orange"]
print(fruits[0])         # apple
fruits.append("banana")  # ["apple","mango","orange","banana"]
fruits[1:3] = ["kiwi"]   # 슬라이싱으로 치환
  • 주요 메서드 : append(), extend(), insert(), remove(), pop(), sort(), reverse()

튜플(Tuple)

  • 선언 : 소괄호( ) 또는 쉼표만으로도 가능
  • 특징 : 키-값 쌍 저장, 순서 유지, 검색 최적화
Python

coords = (10, 20)
# coords[0] = 5    # TypeError: 튜플은 재할당 불가
nested = (1, 2, [3, 4])
nested[2].append(5)      # 내부 리스트는 변경 가능
  • 재할당 : 전체 객체를 새 튜플로 교체 가능

사전(Dictionary)

  • 선언 : 중괄호 { key: value, ... }
  • 특징 : 키-값 쌍 저장, 순서 유지, 검색 최적화
Python

person = {"name": "Jack", "age": 26}
print(person["name"])          # Jack
print(person.get("email"))     # None (KeyError 방지)
person["age"] = 27             # 값 변경
person["city"] = "Seoul"       # 새 키 추가

-생성 방법: dict(), 리스트 튜플 페어, 딕셔너리 컴프리헨션

python

squares = {i: i*i for i in range(1, 6)}

집합(Set)

  • 선언 : 중괄호 {1, 2, 3} 또는 set( )
  • 특징 : 중복 제거, 순서 없음, 변경 가능
Python

vowels = {"a", "e", "i", "o", "u"}
vowels.add("y")               # 요소 추가
vowels.update(["a", "i"])     # 중복은 자동 제거
vowels.remove("e")            # 요소 삭제
  • 연산 : 합칩합( | ), 교집합(&), 차집합(-), 대칭차집합(^)
  • 주요 함수: len(), any(), all(), sorted(), sum()

다음은 5편 데이터 타입에 대해서 알아보도록 하겟습니다.

profile
개발자를 꿈꾸는 청년

0개의 댓글