1. 변수와 동적 타이핑(Dynamic Typing)
파이썬의 변수 특성
- 파이썬은 동적 타이핑을 지원합니다.
x = 10 print(type(x)) # <class 'int'> x = "hello" print(type(x)) # <class 'str'>
- 변수의 데이터 타입은 값을 할당할 때 자동으로 설정됩니다.
- 변수 선언 시 별도의 데이터 타입 지정이 필요 없습니다.
- 자바(Java)처럼 변수의 타입을 선언해야 하는 언어와 대조적입니다.
int i; int j = 100;
2. 강력한 타입 검사(Strong Typing)
타입 변경 없이 연산 불가능
x = "123"
y = 456
print(x + y) # TypeError: can only concatenate str (not "int") to str
- 파이썬은 변수 타입 간의 자동 변환을 지원하지 않습니다.
- 서로 다른 타입의 값을 연산하면 오류가 발생합니다.
명시적 형변환
x = "123"
y = 456
print(int(x) + y) # 579
print(x + str(y)) # 123456
- 타입 변환 함수(int(), str() 등)를 사용해 명시적으로 타입을 변환해야 합니다.
3. 가변성(Mutability)과 불변성(Immutability)
가변 데이터 타입
x = [1, 2, 3]
x[0] = 10
print(x) # [10, 2, 3]
- 데이터 변경 가능.
- 대표적인 예: 리스트(list)
불변 데이터 타입
s = "Hello"
s[1] = "x" # TypeError: 'str' object does not support item assignment
- 데이터 변경 불가능.
- 대표적인 예: 문자열(str)
4. 변수 할당과 참조
참조(Reference) 개념
a = [1, 2, 3]
b = a # a와 b는 동일한 객체를 참조
a[1] = 200
print(a, b) # [1, 200, 3] [1, 200, 3]
- 파이썬의 변수는 객체를 가리키는 참조(레퍼런스)로 동작합니다.
- 여러 변수가 동일 객체를 참조할 수 있습니다.
값 교환
x, y = 10, 20
x, y = y, x
print(x, y) # 20, 10
- 파이썬에서는 간단히 값을 교환할 수 있습니다.
5. 변수 초기화
- 변수 선언 전에 값을 할당하지 않으면 오류가 발생합니다.
x # NameError: name 'x' is not defined
- 초기화 시 None을 사용합니다.
x = None print(x) # None
6. 변수 명명 규칙
- **문자(A-Z, a-z), 숫자(0-9), 밑줄(_)**로 구성.
- 숫자로 시작할 수 없음.
- 대소문자를 구분.
- **예약어(키워드)**는 변수 이름으로 사용할 수 없음.
7. 지역 변수와 전역 변수
지역 변수(Local Variable)
- 함수 내부에서 선언된 변수로, 함수 외부에서 접근할 수 없습니다.
def my_function(): local_variable = 42 print(local_variable) my_function() print(local_variable) # NameError: name 'local_variable' is not defined
전역 변수(Global Variable)
- 함수 외부에서 선언된 변수로, 프로그램 전체에서 접근 가능합니다.
global_variable = "Hello, World" def my_function(): print(global_variable) # Hello, World my_function() print(global_variable) # Hello, World
8. 전역 변수 수정하기
Shadowing(섀도잉)
- 함수 내부에서 전역 변수와 동일한 이름으로 지역 변수를 선언하면, 전역 변수가 가려집니다.
a = 10
def f():
a = 100 # 지역 변수
print(a) # 100
print(a) # 10
f()
print(a) # 10
global 키워드 사용
- 함수 내부에서 전역 변수를 수정하려면 global 키워드를 사용해야 합니다
a = 10
def f():
global a
a = 100
print(a) # 100
print(a) # 10
f()
print(a) # 100
9. 전역 변수와 오류
- 함수 내부에서 전역 변수를 선언하기 전에 사용하면 오류가 발생합니다.
global_variable = "Hello, World"
def my_function():
print(global_variable) # UnboundLocalError 발생
global_variable = "Hello, Python"
my_function()
- 해결 방법: 함수 내부에서 global 키워드로 전역 변수 선언.
global_variable = "Hello, World"
def my_function():
global global_variable
print(global_variable) # Hello, World
global_variable = "Hello, Python"
print(global_variable) # Hello, Python
my_function()
print(global_variable) # Hello, Python
파이썬의 변수는 동적 타이핑과 강력한 타입 검사 덕분에 유연하면서도 안정적인 코드를 작성할 수 있게 합니다. 변수의 가변성과 불변성, 참조 개념, 그리고 지역/전역 변수의 구분을 잘 이해하면 더 효과적으로 파이썬을 사용할 수 있습니다.
*생성형 AI 활용한 클라우드&보안 전문가 양성캠프 과정의 교육내용 정리 자료입니다.
'코딩 > 파이썬' 카테고리의 다른 글
[새싹 성동 2기] SQLite 데이터베이스 연동 가이드 (2) | 2024.12.11 |
---|---|
[새싹 성동 2기] 객체 지향 프로그래밍 (OOP) 기초 (0) | 2024.12.11 |
[새싹 성동 2기] Python에서 파일 처리하는 방법 (1) | 2024.12.09 |
[새싹 성동 2기]Python 데이터 타입과 연산자 기초 정리 (1) | 2024.12.09 |
[새싹 성동 2기] Python 설치 및 가상환경 설정 방법 (0) | 2024.12.06 |