본문 바로가기

기록

파이썬 교과서 내용 정리 53 ~ 123pg

딕셔너리

 

하나의 키에 하나의 벨류가 대응되는 형식의 자료구조이다.

로 가능한 자료형은 문자열, 숫자, 튜플 등 변경이 불가능한 자료형이 가능하다.

 

딕셔너리는 튜플과 달리 요소를 수정할 수 있다.

 

기능 및 특징

1. 요소에 접근할 때는 인덱스 대신 키를 주로 사용한다.

때문에, 요소를 삭제하는 문법인 del 이나 pop을 사용할 때도 키값을 기준으로 한다.

리스트와 동일하게 요소를 모두 삭제하는 clear 또한 사용 가능하다.

2. 딕셔너리명[ 키값 ] /  딕셔너리명.get( 키값 ) : 해당 키값에 해당하는 벨류를 반환

3. 키와 값을 검색하는 방법이 다르다.

딕셔너리.values()와 딕셔너리 객체가 구분된다

4. 객체 반환

- 딕셔너리.keys() : 딕셔너리의 키들이 모여있는 객체를 반환

- 딕셔너리.values : 딕셔너리의 값들이 모여있는 객체를 반환

- 딕셔너리.items() : 딕셔너리의 키와 값을 쌍으로 묶은 객체를 반환

 

 

중복값을 없애는 집합 자료구조. 

**순서 보장이 되지 않는다. **

 

1. .add(요소) : 해당 요소를 집합에 추가

2. .update((요소1, 요소2, .....)) : 여러개의 요소를 추가할 때 사용

3. set.remove(요소) : 해당 요소를 셋에서 제거

4. 여러가지 연산 매소드들:

-  집합1.intersection(집합2) : 두 집합의 교집합 반환   =  a & b

-  집합1.union(집합2) : 두 집합의 합집합 반환     =    a | b

-  집합1.difference(집합2) : 두 집합의 차집합 반환    =   a - b

-  집합1.symmetric_difference(집합2) : 두 집합의 대칭차집합 반환   =  a ^ b

 

 

빈 자료형 생성하기:

 

리스트 : []

튜플 : ()

딕셔너리 : {}

셋 : set()  --> 딕셔너리와 구분됨

 

 

 

논리형 boolean

 

**C언어와는 달리 boolean의 값이 대문자이다.  'True, False'  **

 

각 자료형에 따른 참과 거짓.

 

숫자형 : 

- 0이 아닌 숫자 = True

- 0 = False

 

문자열 : 

- 길이가 1 이상인 문자열 = True

- 빈 문자열("") = False

 

리스트, 셋, 튜플, 딕셔너리 :

- 요소가 한개 이상일 때 = True

- 비었을 때 : False

 

반환값이 없을 때(None) : False

 

 

 

비트연산자

 

비트연산자는 C언어와 동일하며, 한번 더 상기하는 의미에서 정리하겠다.

** bin()과 같이 정수를 다른 진법으로 바꿔주는 함수들은 모두 자료형이 문자열이다. **

 

- & : 논리곱, 둘다 1일 때 1

- | : 논리합, 둘 중에서 하나만 1이어도 1

- ^ : 배타적 논리합, 다르면 1, 같으면 0

- ~ : 1의 보수, 원래수에서 +1 후 부호를 바꾼다. ex) -11 -> 10, 10 -> -11

-  a<<b  : a를 왼쪽으로 b만큼 시프트 연산(값이 커지는 연산)

- a>>b :  a를 오른쪽으로 b만큼 시프트 연산( 값이 작아지는 연산) 

 

 

 

프로그램의 구성 요소: 

 

- 예약어 : 파이썬 언어에서 문법적인 용도로 사용하는 특별한 언어. 변수명으로 사용할 수 없다.

- 함수 : 프로그램 명령어의 묶음. 입력값이 필요한 함수와 필요하지 않는 함수가 있다.

- 클래스 : 데이터와 그 데이터와 관련한 함수들을 한데 모아놓은 묶음

- 모듈 : 여러 코드를 한데 묶어 재사용하기 위한 묶음. 하나의 파일을 의미하며, import를 통해 다른 모듈에서 사용할 수 있다.

- 패키지 : 여러 모듈들을 모아놓은 묶음. 모듈을 사용하기 위해서는 해당 패키지의 디렉터리에 __init__.py를 포함하여야 한다.

 

 

프로그램의 패러다임:

 

- 순차적 프로그래밍 : 명령어를 순서대로 나열하고, 이를 차례대로 실행하며, 때에 따라 제어문과 반복문을 사용하여 작성하는 프로그램.

 

- 절차적 프로그래밍 : (프로시져) 함수를 기본으로 프로그램을 개발. 함수에 실행해야 할 절차들을 명령어로 작성하고 데이터를 함수에 넣어 실행할 결과를 처리하는 프로그램을 작성하는 방법이다.

 

- 구조적 프로그래밍 : 모듈 단위로 프로그램을 작성하여 코드를 재사용하는 프로그래밍 방식

 

- 객체 지향 프로그래밍 : 서로 관련된 데이터와 함수를 한데 모아 객체로 만들어 객체를 기반으로 프로그래밍하는 방식

 

 

조건문 : if문 - c언어와 거의 동일하므로 skip

 

반목문 : for문 

 

in을 사용하며 값을 하나씩 꺼내는 방식이다.

딕셔너리에서 in을 이용해 키를 하나씩 꺼내는 방식

 

다음과 같이 값만 꺼낼 수도 있다.

.values() 사용

 

 

 

이차원 리스트의 값을 꺼내올 때도 사용할 수 있다.

 

row = 행, col = 열

 

++ 리스트 컴프리헨션 (리스트 내포) ++ 

 

리스트를 편하게 생성할 수 있는 획기적인 문법이다.

리스트 컴프리헨션의 예시

 

반복문 뒤에 반복문의 값을 반영하는 조건을 작성하는 형식이다.

이 방법으로 작성하는 코드의 라인 수를 줄일 수 있다.

 

 

 

함수

 

**함수를 호출할 때 넘겨주는 인자값(Argument) 와 선언할 때 사용하는 매개변수(Parameter)를 구분하는 것이 중요하다.**

 

함수 관련 용어 모음

 

- function : 함수, 대개 리턴값이 있는 코드 묶음

- procedure : 프로시저, 리턴값이 필요 없는 코드 묶음

- parameter : 매개변수

- argument : 인자값

- return value : 반환값

- call : 콜,   함수 호출

- caller : 콜러,   호출한 곳

- callee : 콜리,   호출된 곳

- callback : 호출 당하다.   수동적 호출을 의미

- callback function : 콜백 함수, 다른 함수에 전달되어 나중에 호출되는 함수

 

 

 

표준함수(내장함수) 와 사용자 정의함수

 

 

내장함수 모음

- abs() : 주어진 실수나 정수의 절댓값 반환

- bin(), oct(), hex() : 진수 변환 함수

- max(), min(), sum(): 최댓값과 최솟값, 합계 연산

- pow(a, b) : a**b의 지수연산과 같다. 실수가 포함되거나 지수가 음수일 때는 실수, 일반적인 정수 연산일 때는 정수를 반환한다.

정수, 실수에 관계 없이 항상 실수값을 반환하는 math.pow()와 구별된다. 

- round(숫자, ndigits(반올림할 자릿수)) : 해당 숫자를 주어진 자릿수 에서 반올림한다. 반올림 자릿수를 생략한 경우, 첫째자리에서 반올림 후 정수를 반환한다. 자릿수가 입력된 경우 반환하는 값은 실수이다.

 

 

파이썬의 반올림 연산은 '은행가 반올림'이라는 특별한 규칙을 따른다.

소수점의 자릿수가 5일 때와 같은 경계 상황에서 짝수 쪽으로 기운다는 것이 규칙이다.

이 경우를 제외하면 일반적인 반올림 규칙을 따른다.

은행가 반올림 예시

 

 

**내장 함수와 같은 이름의 변수를 선언했을 때에는 해당 내장함수는 변수로 처리되어 사용할 수 없게 된다. 이점을 주의**

 

 

사용자 정의 함수:

 

사용자 정의 함수와 내장함수의 이름이 같을 때에는 사용자가 만든 함수가 호출된다.(우선순위 : 사용자정의함수 > 내장함수)

 

 

 

 

 

함수의 사용

이미 배운 내용은 skip하겠다.

 

- 매개변수에 가변인수가 있는 함수

인자의 개수를 알 수 없는 경우에 사용. print() 함수가 대표적인 예시이다.

 

규칙 및 특징

가변인수를 사용한 함수의 예시

1. 함수를 정의할 때, 마지막 매개변수로만 정의가 가능하다. 인자의 개수를 알 수 없기 때문이다.

즉,  고정된 개수의 인자를 모두 받은 후 가변인수를 사용할 수 있다.

2. 표현하는 형식은 *가변인수명이다.

3. 여러개의 인자가 하나로 묶여 튜플의 형태로 전해진다.

 

 

키워드 인자를 사용한 함수

 

일반적으로 함수의 매개변수 순서대로 호출되는 함수는 '위치인자방식'을 따른다.

 

순서대로 인자값이 넘겨지는 방식 외에도, 직접 변수명을 지정하여 함수를 호출하는 방식인 '키워드 인자방식' 또한 존재한다.

 

규칙:

키워드 인자 사용 예시

1. 키워드 인자는 위치 인자 뒤에, 마지막에만 사용이 가능하다. (우선순위 : 위치인자 > 키워드 인자)

2. 키워드 인자와 가변인수는 동시에 사용이 불가하다. 가변인수는 인자의 맨 마지막 인자들의 모음(위치인자)이지만, 키워드인자는 맨 마지막에 넘겨져야 하므로 양립할 수 없음.

 

 

디폴트 값을 가지는 함수:

 

인자가 넘겨지지 않았을 경우를 대비하여 미리 기본값을 설정해놓는 방식이다.

 

규칙 및 특징

기본 인자값이 불변객체인 경우
기본 인자값이 가변객체인 경우

 

1. 기본 인자값이 불변객체(문자열, 튜플) 인 경우에는 인자값이 넘겨지지 않았을 때에는 기본값, 넘겨진 경우에는 해당 인자값을 반영하는 것과 같이 매번 호출할 때마다 초기화되는 모습을 확인할 수 있다.

2. 기본인자값이 가변객체(리스트, 딕셔너리, 셋) 인 경우에는 기본인자값이 처음 호출할 때 딱 한번만 초기화 되며, 이전의 호출이 이후의 호출에 반영이 된다. 위의 사진 처럼 이름과 성을 입력하면 전체 이름이 출력되는 것을 확인할 수 있다.

 

 

~~123pg

'기록' 카테고리의 다른 글

백준 플레티넘 달성기 2025.10.18  (1) 2025.10.18
파이썬 교과서 내용 정리 124 ~ 187pg  (0) 2025.09.22
파이썬 교과서 내용 정리 10 ~ 52pg  (0) 2025.09.21
중간점검 2  (4) 2025.08.17
PS 임시 중단  (0) 2025.06.04