프로그래밍/Python 49

파이썬의 장단점

파이썬 장점 문법이 간결 빠른 개발 속도(쉽고 간결한 문법으로 빠르게 개발 가능, 더 적은 코드로 많은 작업 수행) 다양한 운영체제 지원 GUI Application 개발(PyQT) 방대한 라이브러리 지원 범용 언어(네트워크, 웹, 데이터분석, 기계학습 등) 파이썬 단점 다른 컴파일 언어에 비해 느림(속도 향상을 위해 byte 코드를 생성하거나 JIT 사용) 런타임 에러가 많음(동적 타입과 관련)

비트 연산자

비트 연산자 (Bitwise Operators) a = 60, b = 13 이라 가정한다. a = 0011 1100 b = 0000 1101 Operator Description Example & AND 연산. 둘다 참일때만 만족 (a & b) = 12 → 0000 1100 | OR 연산. 둘 중 하나만 참이여도 만족 (a | b) = 61 → 0011 1101 ^ XOR 연산. 둘 중 하나만 참일 때 만족 (a ^ b) = 49 → 0011 0001 ~ 보수 연산 (~a) = -61 → 1100 0011 > 2 = 15 → 0000 1111 참고자료 👇 https://wikidocs.net/1161

Python 설치

1. 공식 홈페이지(https://www.python.org/downloads)에 접속 2. Downloads > All releases 를 클릭한 후 Python 3.8.6 의 Download 링크를 클릭하거나, 아래 링크로 접속하신 후 화면 맨 아래에 Windows x86 executable installer를 클릭 👉 Python 3.8.6 다운로드 : https://www.python.org/downloads/release/python-386/ (최신 버전에서는 아직 패키지 호환성 문제가 있어서 3.8.6 설치를 권장) 3. 다운로드 된 파일을 실행하신 후 설치 화면에서 가장 아래에 있는 'Add Python 3.x to PATH' 옵션을 반드시 체크 4. 'Customize installatio..

주요 라이브러리의 문법2

bisect 이진 탐색 기능을 제공하는 라이브러리 bisect 라이브러리는 '정렬된 배열'에서 특정한 원소를 찾아야 할 때 매우 효과적으로 사용됨 bisect_left() 함수와 bisect_right() 함수가 가장 중요하게 사용됨 이 두 함수는 시간 복잡도 O(logN)에 동작함 함수 설명 bisect_left(a, x) 정렬된 순서를 유지하면서 리스트 a에 데이터 x를 삽입할 가장 왼쪽 인덱스를 찾는 메서드 bisect_right(a, x) 정렬된 순서를 유지하면서 리스트 a에 데이터 x를 삽입할 가장 오른쪽 인덱스를 찾는 메서드 정렬된 리스트 [1, 2, 4, 4, 8]이 있을 때, 새롭게 데이터 4를 삽입하려 할 때 bisect_left(a, 4)와 bisect_right(a, 4)는 각각 인덱..

주요 라이브러리의 문법1

파이썬에서 지원하는 표준 라이브러리는 굉장히 다양함 주요한 6가지 라이브러리 내장함수 print(), input()과 같은 기본 입출력 기능부터 sorted()와 같은 정렬 기능을 포함하고 있는 기본 내장 라이브러리 별도의 import 명령어 없이 바로 사용할 수 있는 내장 함수 함수 설명 input() 사용자 입력을 받는 함수 print() 출력을 하는 함수 sum() 리스트와 같은 iterable 객체가 입력으로 주어졌을 때, 모든 원소의 합을 반환 min() 파라미터가 2개 이상 들어왔을 때 가장 작은 값을 반환 max() 파라미터가 2개 이상 들어왔을 때 가장 큰 값을 반환 eval() 수학 수식이 문자열 형식으로 들어오면 해당 수식을 계산한 결과를 반환 sorted() iterable 객체가 들..

입출력

입력 입력을 위한 예제 # 데이터의 개수 입력 n = int(input()) # 각 데이터를 공백으로 구분하여 입력 data = list(map(int, input().split())) data.sort(reverse = True) print(data) # 5 ↵ # 65 90 75 34 99 ↵ # [99, 90, 75, 65, 34] 공백을 기준으로 구분하여 적은 수의 데이터 입력 # n, m, k를 공백으로 구분하여 입력 n, m, k = map(int, input().split()) print(n, m, k) # 3 5 7 ↵ # 3 5 7 sys 라이브러리 입력의 개수가 많은 경우 동작 속도를 위하여 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 함수를 이용 readli..

스택, 큐, 재귀 함수

스택 박스는 아래에서부터 위로 차곡차곡 쌓고, 아래의 박스를 치우기 위해서는 위의 박스를 먼저 내려야 하기에 흔히 박스 쌓기에 비유함 선입후출 구조 또는 후입선출 구조라고 함 stack = [] stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop() stack.append(1) stack.append(4) stack.pop() print(stack) # 최하단 원소부터 출력 print(stack[::-1]) # 최상단 원소부터 출력 # [5, 2, 3, 1] # [1, 3, 2, 5] 큐 흔히 대기 줄에 비유할 수 있음 놀이공운에 입장하기 위해 줄을 설 때, 먼저 온 사람이 먼저 들어가게 되기때문에 '공정한' 자료구조라고 비..

조건문

조건문 파이썬에서 조건문을 작성할 때는 if ~ elif ~ else문을 이용함 조건문 사용시 elif 혹은 else 부분은 경우에 따라서 사용하지 않아도 됨 score = 85 if score >= 90: print("학점 : A") elif score >= 80: print("학점 : B") elif score >= 70: print("학점 : C") else: print("학점 : F") # 학점 : B 논리 연산자 파이썬에서는 &&, || 연산자 대신 and, or 사용함 파이썬의 기타 연산자 파이썬에서는 추가적으로 'in 연산자'와 'not in 연산자'를 제공함 여러 개의 데이터를 담는 자료형으로 리스트, 튜플, 문자열, 사전과 같은 자료형이 존재함 이러한 자료형은 여러 데이터를 담고 있기 때..