티스토리 뷰
>>> 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
'코딩' 카테고리의 다른 글
파이썬 기초-if 문(1) (0) | 2020.04.02 |
---|---|
파이썬 기초-연산자(1) 산술, 대입 연산자 (0) | 2020.04.02 |
연습문제 (0) | 2020.04.01 |
파이썬 기초-변수(1) (0) | 2020.03.29 |
파이썬 기초-숫자형의 특징 문자열의 특징 문자열 포맷팅 주석 처리 (0) | 2020.03.28 |