프로그래밍언어/Python

파이썬 - 변수란 무엇인가?

멍토 2020. 1. 13.

변수 : 값을 저장할 때 사용하는 식별자이다.

 

대입방식

변수명 = 입력할 값

 

변수의 종류

num =10
-> 정수형 변수
name = "홍길동"
-> 문자열 변수
lst = [1, 2 ,3]
-> 리스트 변수

 

#주의사항 : 변경이 가능한 변수에 의도하지 않은 값이 전달되면, 변수의 자료형이 변경됨

a = 3.14
a = "파이썬"
a = True

 

변수명 : 문자, 숫자, _를 이용해서 만들 수 있다.

숫자로 시작하는 변수명은 만들 수 없다.

대소문자를 구분 한다.

예약어는 변수명으로 사용 할 수 없다.(False, class, is ,try, while 등등)


파이썬의 모든 정보는 객체이다.
변수는 객체에 대한 식별자 역할을 수행한다.

var1 = 10 => 메모리 공간에 정수 10의 값을 가진 객체 생성 
                    var1이 정수 10의 값을 가진 객체를 참조 

var2 = 10   => var2가 위에서 생성된 객체를 참조
var1 is var2를 비교하면 True를 반환하게 되므로 두변수가 동일 객체를 참조함을 알 수 있다.

 


bool 형 : 참, 거짓을 판단하는 표현식에 사용하는 자료형으로, True와 False 값을 가짐

관계 연산자, 논리 연산자를 사용하는 표현식이 Bool값을 반환한다.

x = 10
y = 20

x < y
=>True


x = True
y = False
x and y
=> False
x or y
=> True

Tuple : ()안에 서로 다른 자료형의 값을 ,로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형

0부터 시작하는 인덱스를 이용해 접근할 수 있으며, 한 번 저장된 항목은 변경할 수 없다.

괄호는 생략할 수 있다.

student = ("홍길동", 20)   #student = "홍길동", 20 과 동일함
print(student)
=> ('홍길동', 20)
print(student[0])
=> 홍길동
print(student[1])
=> 20
print(student[2])
=> indexError
student[1] = 21
=> TypeError     # 튜플은 한번 저장된 항목의 값을 변경할 수 없기때문에 에러
student = ("임꺽정", 30)
print(student)
=>('임꺽정', 30)    # 변수이므로 새로운 객체 참조는 상관없음

 


List : []안에 서로 다른 자료형의 값을 ,로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형

0부터 시작하는 인덱스를 이용해 접근할 수 있음

한번 저장된 항목이라도 변경할 수 있음

student = ["홍길동", 20]
print(student[0])
=> 홍길동
print(student[1])
=> 20
print(student[2])
=> indexError    #원소의 범위 초과
student[1] = 21    #리스트는 원소 값 변경가능
print(student)
=> ['홍길동', 21]

 

Set : {}안에 서로 다른 자료형의 값을 ,로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형

순서의 개념이 존재하지 않아 인덱스를 사용할 수 없음

데이터 항목의 중복을 허용하지 않음

student = {"홍길동", "이순신", "강감찬", "홍길동"}
print(student)
=> {"홍길동", "이순신", "강감찬"}
len(student)    #길이 출력
=> 3
print(student[0])
=> TypeError   #set은 인덱스를 이용해 개별 항목에 접근할 수 없음
student |= {"을지문덕", "이순신"}   #합집합의 개념
print(student)
=> {"강감찬", "홍길동", "이순신", "을지문덕"}

 

Dictionary : {}안에 키:값 형식의 항목을 ,로 구분해 하나 이상 저장할 수 있는 컬렉션 자료형이다.

키를 이용해 값을 읽어 올 수 있다.

항목추가시 - 동일키가 있다면 새로운 항목을 추가하며, 동일 키가 있다면 항목을 변경한다.

dog = {1 : "골든리트리버", 2 : "진돗개", 3 : "보더콜리"}
print(dog)
=>{1 : "골든리트리버", 2 : "진돗개", 3 : "보더콜리"}
print(dog[1])
=> '골든리트리버'
print(dog[2])
=> '진돗개'
print(dog[3])
=> '보더콜리'
print(dog[4])
=> keyError
dog[2] = "레브라도리트리버"
print(dog)
=>{1 : "골든리트리버", 2 : "레브라도리트리버", 3 : "보더콜리"}
dog["4"] = "알래스카말라뮤트"
print(dog)
{1 : "골든리트리버", 2 : "레브라도리트리버", 3 : "보더콜리", "4" : "알래스카말라뮤트"}
#정수 4와 문자열 "4"는 다름을 주의

 

None : None객체를 이용해 null객체(객체가 존재하지 않는 상태) 상태를 표현함

obj
=> NameError    #값을 저장하지 않아 생김
obj = None

 

변수의 제거 : 가비지 컬렉터가 메모리를 자동으로 관리하므로 직접할필요가 없지만

변수를 제거해야 한다면 del()함수를 이용하여 제거할 수 있다.

 

댓글

💲 광고입니다.