Coding 공부/Python

[Python_Summary]듀플, 딕셔너리, 집합, 불 자료형 및 자료형 값을 저장하는 공간, 변수

CBJH 2024. 1. 10. 22:05
728x90
반응형

※ 튜플(Tuple)이란? 

 

1)리스트와 유사한 자료형

2)소괄호로 둘러쌈 ()

3)값 변경 불가

4)괄호를 생략하고 튜플 자료형을 선언할 수 있으나 1개의 요소만을 가질 때는 요소 뒤에 콤마를 붙여야 함

예시) t1 = 1,

5) 인덱싱이 가능 t1[0]

6) 슬라이싱 가능 t1[0:2]

7)튜플 더하기와 곱하기 가능 t3 = t1 + t2, t3 = t2*3

t1+=t2          #수정하는 것이 아니라 t1에 t2값을 더하여 t1을 새로 생성하기 때문에 가능하다!

8)길이 구하기 함수 len(t1)

len() 함수는 튜플, 문자열, 리스트, 집합, 딕셔너리 모두 사용가능하다.

 

 

※ 딕셔너리(Dictionary)란?

 

1)대응 관계를 나타내는 자료형

2)key와 Value를 한 쌍으로 갖는 자료형

3) 순차적으로 해당 요솟값을 구하지 않고, Key를 통해 Value를 바로 얻는 특징

4) 중괄호로 둘러쌈 {key1 :value1, key:value2, key3:value3}

5)Key와 Value는 동일 형태가 아니어도 되며 다양한 형태를 가질 수 있다.

단, Key는 변할 수 있는 형태는 사용할 수 없다. 리스트 형태는 안된다. 문자열은 되는 것이 신기하다. 

(오늘 수업에서 물어보니 문자열은 수정할 경우 새로운 문자열이 주소에 할당되어 만들어지는 구조라 기본적으로 상수취급을 받아 Key로 받을 수 있다고 한다.)

6)딕셔너리 쌍 추가 d1['name'] = 'Kate', d1['age'] = 30

7)딕셔너리 요소 삭제 del d1('name') Key가 'name'인 쌍 삭제

8)딕셔너리는 Key를 사용해 Value 접근 d1['age']

9) Key만을 모아서 dict_keys 객체 반환 d1.keys()

리스트처럼 사용할 수 있지만 조금 다르다. 리스트로 사용하려면 l1 = list(d1.keys())

10)Value만을 모아서 dick_values 객체 반환 d1.values()

11)Key와 Value의 쌍을 튜플로 묶은 값을 모아서 dic_items 객체 반환 d1.item(), 튜플형 안에 튜플형으로 저장!

튜플로 사용하고 싶으면 t1 = tuple(d1.items())        //(('name', 'Kate'), ('age', 30))

12)딕셔너리 내의 모든 요소 삭제 d1.clear()

빈 딕셔너리는 {}로 표현

13)Key가 딕셔너리 안에 있는지 조사 'name' in d1

Key가 존재하면 True, 존재하지 않으면 False 반환

14)Key에 대응하는 Value값 반환 d1.get('age')

Key값이 없을 경우 None반환, 디폴트 값을 대신 반환하도록 지정 가능 d1.get('age', 'Not find key')

딕셔너리 자료형 = { 문자열 자료형 : 숫자형 자료형, 문자열 자료형 : 문자열 자료형} 

 

 

※ 집합(Set)이란?

 

1)집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형 대괄호 안에 소괄호 사용[()] 출력값은 중괄호로 나옴{}

2)중복을 허용치 않음

3)순서가 없음(Unodered) - 인덱싱 불가

숫자를 요소로 넣을 경우 순서대로 정렬된다. 순서가 없다고 했지만 파이썬 프로그램 자체가 숫자를 순서대로 정렬하는 것을 지원하기 때문에 그렇게 보인다.

4)교집합, 합집합, 차집합, 여러 개의 값을 한번에 추가하는 기능을 사용하고 싶을 때 집합을 사용한다.

5) s1 = set([1,2,3,4,5,6]) , s2 = set([5,6,7,8,9]) s1&s2 교집합 s1.(intersection(s2))

6)s1|s2 합집합 s1.union(s2)

7)s1-s2 차집합 s1.difference(s2)

8)이미 만들어진 set자료형에 값 추가 s1.add(10)

9)여러개의 값을 한번에 추가 s1.update([10,11,12])

10)특정 값을 제거 s1.remove(2)

 

 

 

※불(Bool)이란?

1) 참과 거짓을 나타내는 자료형 b1 = True, b2 = False

2) 조건문의 반환 값으로 사용됨. 조건문 1 > 2       // False 반환

3) 자료형의 참과 거짓

 

튜플, 딕셔너리, 리스트, 문자열에 요소가 있으면 True, 비었으면 False

숫자형은 0이면 False, 0이 아닌숫자는 True(C언어와 동일하다)

4)bool()함수    : 자료형을 참/거짓을 식별하는 내장 함수

bool(None)         // False

 

※자료형의 값을 저장하는 공간, 변수

1) 변수란 ? 저장된 메모리 주소를 가리키는 값으로 값이 변할 수 있다. 반대말은 상수이다.

지금까지 배워온 자료형을 선언할 때 왼쪽편에 있던 것이 변수다.

 

2) a = [1, 2, 3] 변수를 선언하면 a는 [1, 2, 3]을 가리키는 값을 가진다. 그 값은 주소를 가리키며 변수는 주소에 대한 정보를 갖는다.

주소 값은 id(a)를 입력하면 알 수 있다.

b = a 라고 입력하면 b라는 변수 또한 a와 같은 주소를 가리키므로, b를 수정하면 a도 바뀐다.

c = a[:]라고 입력하면 리스트만 복사하고 주소는 다른 값을 가진다.

 

 

 

파이썬의 자료형, 내장 함수, 객체 함수를 배워보았다.

확실히 코드가 유저 친화적이라는 생각이 들고, 직관적으로 해석이되어 좋다. 괜히 'Life is too short, You need Python!'이라는 말이 생긴건 아니다. 연사자를 배워서 여러 자료형을 자유롭게 사용해보고 싶다.

 

파이썬의 주요 특징 : 들여쓰기를 잘 해야된다. PEP8과 같이 파이썬에선 유저 친화적 인터페이스 때문에 생길 수 있는 가독성 문제를 해결하기 위해 여러 규정을 만들고 공동작업 시 원활한 교류가 이루어 질 수 있도록 노력하고 있다. 실제로 파이썬 셸을 사용할 때 들여쓰기를 제대로 하지 않으면 오류가 나서 프로그래밍이 되지 않는다. 들여쓰기는 보통 Space를 2~3번 누르거나 tab키를 눌러 간격을 만든다.