3. 파이썬의 변수

2024. 9. 24. 01:55파이썬(python)

1. 변수

변수는 말 그대로 변하는값, 프로그래밍에서 데이터를 저장하고 관리하는데 사용되는 중요한 개념입니다. 
변수는 이름이 붙은 메모리 공간으로, 값을 저장하거나 참조할때 사용됩니다.
1) 변수 선언 : 변수를 사용하기 전에 해단 변수의 이름을 정하고, 그 이름을 사용해 변수를 선언합니다.
2) 값 할당 : 변수에 저장된 값을 읽거나 사용할때는 해당 변수의 이름을 사용하여 값을 참조합니다.
3) 값 참조 : 변수에 저장된 값을 읽거나 사용할때는 해단변수의 이름을 사용하여 값을 참조합니다.
4) 변수 타입 추론 : 파이썬은 동적(Dynamic) 타이핑 언어로, 변수를 선언할 떄 변수 타입을 명시적으로 지정하지 않아도 됩니다. 파이썬은 할당된 값의 형태에 따라 변수의 타입을 추론합니다.
5) 변수 재할당 : 변수에  새로운 값을 할당하면 이전에 저장된 값은 새 값으로 대체됩니다.

 
1-1. 파이썬의 메모리 구조

 ●프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드 되어야함

 ●프로그램에서 사용되는 변수들을 저장할 메모리가 필요

 ●컴퓨터 운영체제는 프로그램 실행을 위해 메모리를 나누어 관리

 

●파이썬의 메모리 영역

  -코드 영역 : 실행할 프로그램의 코드가 저장되는 영역

  -데이터 영역 : 프로그램의 전역 변수, 지역 변수들이 저장되는 영역

  -스택 영역 : 함수의 호출과 관계되는 지역 변수,매개 변수가 저장되는 영역

  -힙 영역 : 사용자가 직접 관리 할 수 있는 메모리 영역, 메모리 공간이 동적(Dynamic)으로 할당(malloc) 되고 해제
1-2. 변수의 사용
예) 변수명 = 값


name = '김사과'
print(name)
age = 20
print(age)
print(name)
name = ' 반하나 '
print(name)



--->
1) name = '김사과'
print(name)
-->
김사과

2) age = 20
print(age)
-->
20

3) print(name)
name = ' 반하나 '

print(name)
-->김사과      #위에 정의한 김사과 출력

 

2. 변수 이름을 작성하는 방법

#파이썬 변수는 대소문자를 구분하여, 예약어(예 : if,while,for 등)는 변수 이름으로 사용할 수 없습니다. 
#변수 이름은 알파벳으로 시작해야하며 숫자나 특수문자(%,&,$,@ 등)는 첫 글자로 올 수 없습니다. 
# 변수 이름은 의미있고 알아보기 쉬운 이름으로 지정하는 것이 좋습니다.


예시는 다음과 같습니다.

1)num = 10   #스칼라(데이터 1개)를 저장하는 경우 관례적으로 변수의 이름을 소문자로 표현
Num = 20   #두 단어를 합쳐 사용할 경우 -->myScore
NUM = 30
print(num)
print(Num)
print(NUM)
-->

10
20
30

2) 숫자1 = 100
숫자2 = 200
print(숫자1)
print(숫자2)
-->

100  
200   #결과는 나오지만 추천 x
3. 변수의 자료형
파이썬은 동적 타이핑(Dynamic Typing) 언어로, 변수의 타입을 선언할 필요 없이 값을 할당할때 자동으로 타입을 추론합니다. 이는 프로그래머가 변수의 타입을 직접 명사 할 필요 없이 더 유연하게 코드를 작성 할수 있는 장점을 제공합니다. 그렇지만 이로 인해 잘못된 타입의 값이 변수에 할당되는 상황도 발생할 수 있습니다.


3-1)
기본 데이터 타입 : 파이썬이 제공하는 기본적인 데이터 타입입니다. 
정수 타입(Int) : 정수 값을 나타냅니다. 예를 들어, x = 5와 같이 할당할 수 있습니다.
부동 소수점 타입(Float) : 실수 값을 나타냅니다. 예를 들어 , x = 3.14 와 같이 할당될 수 있습니다.           
문자열 타입(Str) : 문자나 문자열을 나타냅니다. 예를 들어, name = "김사과"와 같이 할당될 수 있습니다.       
부울 타입(Bool) : 참(True) 또는 거짓(False) 값을 나타냅니다. 예를 들어, is_Love = True와 같이 할당 될수 있습니다.  



3-2)
컬렉션 데이터 타입 : 여러 갤의 값을 묶어서 관리하는데 사용되며, 더 복잡한 데이터 구조를 나타냅니다.
리스트(List) : 여러값을 순차적으로 저장하는 자료 구조 입니다.예를 들어,  [1, 2, 3]와 같이 할당될 수 있습니다.
튜플(Tuple) : 리스트와 유사하지만 변경할 수 없는(immutable) 자료 구조입니다. 예를 들어 , (1, 2, 3)와 같이 할당 될 수 있습니다.
딕셔너리(Dict) : 키(Key)와 값(Value)을 쌍으로 저장하는 자료구조 입니다. 예를 들어 , {1, 2, 3}와 같이 할당될 수 있습니다.  
Type 함수() : 파이썬에서 변수나 값의 데이터 타입을 확인하는데 사용되는 내장 함수입니다. 이 함수를 사용하면 해당 값이 어떤 데이터 타입인지를 알 수 있습니다.
#Type() : 파이썬에서 객체의 타입(클래스)을 확인


name = '김사과'
age = 20
weight = 50.5
isLover = False
print(name)
print(age)
print(weight)
print(isLover)
print(type(name))         #str : 문자열
print(type(age))          #int : 정수
print(type(weight))      #float : 실수
print(type(isLover))     #bool : 참, 거짓


-->
김사과
20
50.5
False
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>

 

#4. 변수의 삭제
# 변수를 삭제하기 위해 del문을 사용할 수 있습니다. 
# del 문은 지정된 변수를 제거하고 해당 메모리 공간을 해제합니다. 
# 변수가 삭제되면 해당 이름으로 변수에 더 이상 접근 할  수 없습니다.

print(name)
print(age)
print(weight)
print(isLover)
del isLover 
# 삭제 명령어 적용 후 에러 발생
# print(isLover)  #NameError: name 'isLover' is not defined
name1 = '감사과'
name2 = name1
print(name1)
print(name2)
del name1
# name1은 name2에 저장되었기 떄문에 지워지지 않는다. 
# name1,name2 지우면 가비지 컬렉터에 의해 지워진다
print(name2)   

-->
김사과
20
50.5
False
감사과
감사과
감사과

 

더보기

주의!!

주의해야 할 점은 del 문을 사용하여 변수를 삭제할 때 해당 변수에 연결된 메모리가 해제되지만, 변수가 참조하던 값 자체는 삭제되지 않습니다. 
값이 다른 변수에 여전히 참조되고 있는 경우에는 삭제되지 않습니다.
변수를 삭제할 때는 신중하게 사용해야 합니다. 
필요한 경우에만 변수를 삭제하고, 불필요한 메모리 해제나 예기치 않은 동작을 피하기 위해 조심하세요.

 

 

 

 

 

 

 

728x90
LIST

'파이썬(python)' 카테고리의 다른 글

5. 컬렉션 타입-리스트  (0) 2024.09.24
4. 문자열 다루기  (2) 2024.09.24
2. Python의 Print 함수  (0) 2024.09.22
파이썬(Python 3.11.9) 설치 및 버전 확인  (0) 2024.09.22
1.구글 코랩(Google Colab) 이란?  (10) 2024.09.22