저장소

[이코테 2021] 1. 파이썬 문법 정리 본문

IT/2021 이코테

[이코테 2021] 1. 파이썬 문법 정리

huiu 2022. 3. 25. 18:49

https://youtu.be/m-9pAwq1o3w


1. 자료형

(1) 정수형(Integer)

- 정수를 다루는 자료형

- 양의 정수, 음의 정수, 0

 

(2) 실수형(Real Number)

- 소수점 아래의 데이터를 포함하는 수 자료형

- (파이썬) 변수에 소수점을 붙인 수

- 소수부 or 정수부 0 => 생략 가능

- 지수 표현 방식

- 2진수 체계로 인해 실수 정보 표현 정확도에 한계로 round(소수, 소수 n+1째 자리 반올림) 함수 이용

 

 

(3) 실수형: 지수 표현 방식

- (유효숫자)e(or E)(10의 지수부) Ex) 1e9 = 10^9

- 최단 경로 알고리즘에서 도달할 수 없는 노드에 대해 최단 거리를 무한(INF) 설정

- 사용 가능한 최댓값이 10억 미만이라면 무한(INF) = 1e9

 

(4) 수 자료형의 연산

- 사칙연산 + 나머지 연산

- 나누기 연산자(/): 실수형으로 반환

- 나머지 연산자(%)

- 몫 연산자(//)

- 거듭 제곱 연산자(**)


2. 리스트 자료형

(1) 리스트 자료형

- 배열, 연결 리스트 유사 기능

- 데이터를 연속적으로 담아 처리

- C++의 STL vector와 기능적으로 유사

 

(2) 초기화

- 데이터 입력 초기화: [데이터1, 데이터2]

- 빈 리스트: list(), []

- index는 0부터 시작

 

(3) 리스트: 인덱싱 & 슬라이싱

- 인덱싱: 리스트의 특정한 원소에 접근

- 양의 정수, 음의 정수 입력 가능

- 음의 정수: 뒤에서 n 번째 원소에 접근

- 슬라이싱: 연속적인 위치를 갖는 원소들을 가져와야할 때 사용

- 대괄호 안에 클론(:)을 넣어서 시작 인덱스와 끝 인덱스 설정 가능

- 끝 인덱스는 실제 인덱스보다 1을 더 크게 설정

 

(4) 리스트 컴프리헨션 & 언더바

- 리스트 컴프리헨션: 대괄호 안에 조건문과 반복문을 적용하여 리스트 초기화

반복문 작성 -> 변수 설정

- N X M 크기의 2차원 리스트 초기화 시 효과적

좋은 예시
나쁜 예시

- 언더바(_): 반복을 수행하되 반복을 위한 변수의 값을 무시할 때 사용

 

(5) 기타 주요 메서드


3. 문자열 자료형

(1) 초기화

- 큰 따옴표 or 작음 따옴표

- 전체 문자열 구성과 내부에 쓰이는 따옴표의 종류가 다르면 포함 가능

- 백슬래시(\) 사용 시 큰 따옴표나 작음 따옴표 자유롭게 포함 가능

(2) 연산

- 덧셈: 연결하기

- 곱하기: 반복

- 인덱싱, 슬라이싱 사용 가능

- 변경 불가능 객체: 특정 인덱스 값 변경 불가(Immutable)


4. 튜플 자료형

(1) 특징

- 선언값 변경 불가능

- 소괄호() 사용

- 공간 효율적

(2) 사용 목적

- 서로 다른 성질 데이터 묶어서 관리 => 최단 경로 알고리즘에서 (비용, 노드 번호) 형태로 사용

- 데이터의 나열을 해싱(Hashing)의 키 값으로 사용

- 메모리 효율


5. 사전 자료형

- 키(key)-값(value) 쌍 데이터 자료형

- 순서X = 인덱싱X

- 변경 불가능(Immutable) 자료형을 키로 사용 가능

- 해시 테이블(Hash Table) 이용 => 데이터 조회 및 수정 시간 복잡도 = O(1)

- .keys(), .values(): 키, 값 데이터 리스트 추출 가능


6. 집합 자료형

- 중괄호({}) 안에 콤마 기준으로 구분

- 중복X 순서X = 인덱싱X

- set() 함수로 리스트 or 문자열 초기화 가능

- 데이터 조회 및 수정 시 O(1)의 시간에 처리 가능

- 연산: 합집합(|), 교집합(&), 차집합(-)

- .add(n): 원소 추가

- .update([n, m]): 여러 원소 추가

- .remove(n): 특정한 값(n) 원소 삭제


7. 기본 입출력

(1) 표준 입력 방법

- input() 함수: 한 줄의 문자열 입력

- map(): 리스트의 모든 원소에 각각 특정한 함수 적용 시 사용

(2) 빠르게 입력 받기

- (파이썬) sys 라이브러리에 정의된 sys.stdin.readline() 메서드 이용

- 엔터(Enter)가 줄 바꿈 기호로 입력되므로 rstrip() 메서드 사용

(3) 출력

- print(): 콤마 띄어쓰기 구분 가능, 기본 줄 바꿈

- end 속성으로 자동 줄 바꿈 가능 변경 가능

- f-string: 문자열 앞에 접두사 'f'를 붙이고 중괄호 안에 변수명 기입


8. 조건문

- if-elif-else문

- 파이썬은 코드 블록을 들여쓰기로 지정 = 4개의 공백

- 조건부 표현식: if ~ else문을 한 줄에 작성 가능

조건부 표현식

- 파이썬은 수학 부등식 그대로 사용 가능 But 순차적으로 처리하기 때문에 조건문이 항상 True가 될 수 있음

0 < x => true

(1) 비교 연산자

- 대입 연산자(=)와 같음 연산자(==) 구분 필요

(2) 논리 연산자

-  and: 범위 속하는지 여부 확인에 주로 사용

 

(3) 기타 연산자

- 리스트, 튜플, 문자열, 딕셔너리 모두 사용 가능

(4) pass 키워드

- 조건문의 형태만 만들어 놓고 조건문을 처리하는 부분은 비워놓는 경우


9. 반복문

- for문 / while 문

- 무한 루프 사용 빈도 적으니 탈출 여부 확인하기

- for range(시작, 끝+1) => 인자값을 하나만 넣으면 자동으로 시작 = 0

- continue: 남은 코드 실행 건너뛰기

- break: 즉시 탈출

특정 학생 제외
중첩 반복문


10. 함수와 람다 표현식

(1) 함수

- 특정 작업을 하나의 단위로 묶음

- 종류: 내장 함수, 사용자 정의 함수

- 소스코드 줄일 수 있음

- 파라미터 변수 직접 지정 가능(순서 상관X)

- global 키워드 = 함수 바깥의 변수 참조(없을 시 내부 선언된 지역변수 우선 참조)

- 여러 개의 반환 값O

(2) 람다 표현식

- 특정 기능 수행 함수 한 줄에 작성 가능

- 함수 자체를 입력 받는 함수 or 한 번만 사용하는 함수에 활용

key 값
여러 개의 list에 적용


11. 자주 사용되는 표준 라이브러리

(1) 내장 함수

- sum(), min(), max(), eval(), sorted(array, key, reverse)

출력: key 값 기준 내림차순으로 이순신(75) -> 아무개(50) -> 홍길동(35)

(2) 순열과 조합

- 순열: 서로 다른 n개에서 서로 다른 r개 순서대로 나열

- 조합: 서로 다른 n개에서 순서 상관 없이 서로 다른 r개 선택

- permutations

순열

- combinations

조합

- product

중복 순열

- combinations_with_replacement

중복 조합

(3) Counter

- 등장 횟수 출력

(4) 최대 공약수(GCD) & 최소 공배수(LCM)