티스토리 뷰

코딩

파이썬 기초-변수(2)

태욱씨 2020. 3. 29. 21:53
>>> student = {"홍길동","이순신","강감찬","홍길동"}
>>> student |= {"을지문덕","이순신"}
>>> student
{'홍길동', '이순신', '을지문덕', '강감찬'}

Set student는 집합의 개념을 가지고 있는 자료구조로 합집합 연산자 제공

중복 데이터는 허용되지 않음

 

변수 student 에 새로운 set 저장하기

>>> student = {"임꺽정",30}
>>> student
{'임꺽정', 30}

새로운 셋 객체 참조

 

Dictionary

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

키를 이용해서 값을 읽어 올 수 있음

항목을 추가할 때 동일키가 없으면 새로운 항목을 추가하고,

동일키가 있으면 저장된 항목을 변경한다

 

Dictionary형 변수 선언

>>> dogs={1:"골든리트리버",2:"진돗개",3:"보더콜리"}
>>> dogs
{1: '골든리트리버', 2: '진돗개', 3: '보더콜리'}

키를 이용해 딕셔너리 개별 항목에 접근하기

>>> dogs[1]
'골든리트리버'
>>> dogs[2]
'진돗개'
>>> dogs[3]
'보더콜리'
>>> dogs[4]
Traceback (most recent call last):
  File "<pyshell#47>", line 1, in <module>
    dogs[4]
KeyError: 4

딕셔너리 dogs는 유효한 키로 1,2,3 사용

값을 변경하기

>>> dogs[2]="레브라도리트리버"
>>> dogs
{1: '골든리트리버', 2: '레브라도리트리버', 3: '보더콜리'}

'2:진돗개'가 존재하므로, 값이 변경된다

딕셔너리는 항목을 추가 할 때, 동일 키가 있으면 저장된 항목을 변경함

>>> dogs["4"]="알래스카말라뮤트"
>>> dogs
{1: '골든리트리버', 2: '레브라도리트리버', 3: '보더콜리', '4': '알래스카말라뮤트'}

딕셔너리는 항목을 추가 할 때, 동일 키가 없으면 새로운 항목으로 추가함

하지만 정수 4와 문자열 "4"는 자료형이 다름

>>> dogs[4]
Traceback (most recent call last):
  File "<pyshell#52>", line 1, in <module>
    dogs[4]
KeyError: 4

>>> dogs["4"]
'알래스카말라뮤트'

새로 추가한 값을 보려면 문자열 4를 입력해야 한다.

 

변수 dogs에 새로운 빈 딕셔너리 객체를 저장하기

>>> dogs={}
>>> dogs
{}

dogs가 변수이므로 새로운 빈 딕셔너리 객체를 참조할 수 있음

 

None

: None 객체를 이용해 널(null)객체 상태를 표현함

(null:객체가 존재하지 않는 상태를 나타내는 표현)

파이썬에서는 최초 변수를 선언할 때 초기화를 하지 않으면 에러가 발생함

초기화값을 제공하지 않을 경우엔 None 객체 저장 필요

 

None형 변수 선언

>>> obj
Traceback (most recent call last):
  File "<pyshell#57>", line 1, in <module>
    obj
NameError: name 'obj' is not defined

obj변수를 선언할 때 값을 대입하지 않아 name에러가 발생

: 메모리 공간에서 obj라는 변수를 찾지 못해 발생하는 에러

obj에 어떠한 값도 저장하고 싶지 않을 경우 None객체를 저장함

 

어떠한 객체도 참조하지 않은 None객체의 상태를 확인할 때는

동일한 값을 검사하는 ==연산자 보다는 동일 객체 여부를 검사하는 is연산자를 사용하는 것을 권장

>>> obj=None
>>> obj is None
True
>>> obj==None
True

None 객체 상태는 if문과 같이 True, False 부울값을 반환하는 식에서 False로 평가된다

>>> if obj:           #obj가 None이므로 False로 평가
	print("obj는 None이 아닙니다.")
else:
	print("obj는 None입니다.")     #else문의 print()함수 실행

	
obj는 None입니다.
>>> if not obj:          #obj가 None이므로 False로 평가, not연산되어 True반환
	print("obj는 None입니다.")        #if문의 print()함수 실행
else:
	print("obj는 None이 아닙니다.")

	
obj는 None입니다.

3. 변수의 생성 및 제거

변수를 생성하고 초기화하는 다양한 방법

변수는 기본적으로 한 번에 하나씩 생성하지만, 그 이상의 변수를 한 번에 생성할 수도 있음

 

변수를 생성하고 초기화하는 다양한 방법

>>> x=y=10
>>> x
10
>>> y
10

튜플을 이용해 변수 생성하고 초기화

>>> x,y=(10,20)
>>> (x,y)=10,20
>>> x,y=10,20
>>> (x,y)=(10,20)
>>> x
10
>>> y
20

리스트를 이용해 변수 생성하고 초기화

>>> x,y=[10,20]
>>> [x,y]=10,20
>>> [x,y]=[10,20]
>>> x
10
>>> y
20

변수 생성과 초기화의 특징 > 쉽게 변수의 값 교체 가능

>>> x,y=y,x
>>> x
20
>>> y
10

변수의 제거

파이썬은 Garbage Collector에 의해 객체가 사용한 메모리 공간 자동관리함

그렇기 때문에 개발자가 메모리 관리를 직접할 필요 없음

사용하지 않은 변수를 제거할 경우 del()함수를 사용한다

 

변수의 제거

>>> x=10
>>> y=20
>>> del(x)
>>> del(y)

>>> x
Traceback (most recent call last):
  File "<pyshell#92>", line 1, in <module>
    x
NameError: name 'x' is not defined

>>> y
Traceback (most recent call last):
  File "<pyshell#93>", line 1, in <module>
    y
NameError: name 'y' is not defined

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함