변수.
- 변수란, 데이터가 저장된 저장소를 이름 붙인 것
- 컴퓨터의 메모리에 저장됨.
변수 네이밍 규칙.
- 문자 또는 _로 시작해야 함 ( 3.6 이상 버전부터는 한글 변수명 지원 )
- 특수문자( !,@,#,$ ) 및 공백은 사용 불가.
- 대소문자 구분 됨 ( apple <> APPLE )
- 미리 정의된 단어(예약어)는 사용 불가.
- 문맥에 맞게, 읽는 사람이 이해할 수 있게 만들기
- 한 글자나, 너무 긴 변수명은 지양
- 단수와 복수를 구분
- 카멜 케이스( camelCase )와 스네이크 케이스( snake_case )를 통한 표기, 혼용금지!!
- 파이썬은 스네이크 케이스가 선호된다. ( 뱀이라 그런가? )
변수 선언
- 타입을 지정하지 않음
- 문자열은 홀따옴표 '' , 또는 쌍따옴표"" 로 감싸서 할당
- 변수를 다른 변수에 할당하는 것도 가능
name = "laplace"
age = 30
solo = True
데이터 타입
- 숫자, 문자열, Boolean
- Dynamic Typing - 자동으로 결정됨
- Type에 따라 사용할 수 있는 기능이 제한
# 숫자형
num = 123
# 문자형
str = '헬로'
# boolean
t = True
f = False
nt = not True # False
Dynamic Typing(동적 타이핑)
- Dynamic Typing(동적 타이핑)은 프로그래밍 언어의 변수에 대한 데이터 타입을 프로그램이 실행될 때(runtime)에 결정하는 것을 의미합니다. 이는 변수를 선언할 때 데이터 타입을 명시적으로 지정할 필요가 없고, 변수에 어떤 값을 할당하느냐에 따라 자동으로 데이터 타입이 결정된다는 것을 의미합니다.
# 변수 선언 및 초기화
x = 10 # x는 현재 정수형
print(x) # 출력: 10
print(type(x)) # 출력: <class 'int'>
# 변수에 다른 타입의 값 할당
x = "Hello" # 이제 x는 문자열
print(x) # 출력: Hello
print(type(x)) # 출력: <class 'str'>
위 예시에서, x는 처음에 정수형 값 10을 가지다가 나중에 문자열 값 "Hello"를 가집니다. 파이썬은 이러한 변화를 허용하며, 변수의 타입은 런타임에 동적으로 변경됩니다.
장점
- 유연성: 변수에 다양한 타입의 값을 할당할 수 있어 코드 작성이 더 유연하고 간단합니다.
- 코드 간결성: 타입 선언이 필요 없으므로 코드가 더 간결해집니다.
- 빠른 프로토타이핑: 빠르게 코드를 작성하고 테스트할 수 있습니다.
단점
- 런타임 오류: 타입 오류가 런타임에 발생할 수 있어, 컴파일 타임에 잡아내기 어렵습니다.
- 유지보수 어려움: 큰 프로젝트에서 타입 혼동이 발생할 수 있어, 코드 유지보수가 어려울 수 있습니다.
- 성능: 런타임에 타입을 결정하고 체크해야 하므로, 정적 타이핑 언어에 비해 성능이 저하될 수 있습니다.
변수의 생명주기
- 정의된 변수는 정해진 생명주기( Life Cycle )를 가짐
- 변수의 선언과 초기화 : 변수를 선언하거나, 초기화하는 순간 메모리에 할당됨
- 변수 존재 : 선언된 이후 유효한 범위( Scope )에서 사용 가능
- 변수 소멸 : 더 이상 사용되지 않으면 소멸 ( 함수의 종료, 새로운 값의 할당, 변수의 삭제 ) 변수는 더 이상 참조되지 않을 때 소멸합니다. - 파이썬의 가비지 컬렉터가 이러한 변수를 자동으로 메모리에서 해제합니다.
- 함수 내에서 선언된 지역 변수는 함수 실행이 종료되면 자동으로 소멸합니다.
- 파이썬은 참조 카운트를 사용하여 객체가 더 이상 사용되지 않을 때 메모리에서 해제합니다. 객체의 참조 카운트가 0이 되면 가비지
컬렉터가 이를 수집하여 메모리에서 제거합니다.
'PYTHON' 카테고리의 다른 글
[PYTHON] 파이썬 - 숫자 처리 함수 (0) | 2024.07.01 |
---|---|
[PYTHON] 파이썬 - 연산자 (0) | 2024.07.01 |
[PYTHON] 파이썬 - 문자열 (0) | 2024.06.21 |