플밍 시험 공부
1. 파이썬
1. 장점
- 오픈 소스 : 비용이 들지 않고, 점점 발전하는 언어
- 쉽고 간결한 문법 : 문법이 쉽고 간결하여 빠르게 배울 수 있는 언어
- 뛰어난 가독성 : 들여쓰기로 구분하여 블록을 구분하기 쉬우며 코드가 간결하고 이해하기 쉬움
- 동적 타이핑 : 실행 중 자료형이 체크되고 메모리가 자동으로 관리됨
- 유니코드 사용 : 유니코드를 사용하여 문자 표현이 자유로움
- 풍부한 라이브러리 : 기본으로 제공되는 라이브러리가 풍부함
- 빠른 개발 속도 : 라이브러리를 활용하여 빠르게 개발가능 (실행 속도는 느림)
- C언어와의 쉬운 연계 : C언어와 잘 연결되고 풍부하고 다양한 개발 가능
- 대부분의 운영체제에서 실행 가능 : 대부분의 운영체제에서 실행이 가능함
- 다양한 분야에 활용 : 많은 사람이 사용하고 쉬워 다양한 분야에 활용 가능
2. 단점
- 연산 속도가 느림 : C언어보다 약 2~140배 느림
- 모바일 기기에서 활용 어려움 : 모바일 분야에서 활용되지 않고 있음
3. 활용분야
- 시스템 유틸리티 제작
- 웹과 인터넷 서비스 개발
- 네트워크 프로그래밍
- 데이터베이스 프로그래밍
- 데이터 분석
- GUI 프로그래밍
- 수학, 과학 분야 (배열, 행렬 적분 등의 연산)
- 교육 분야
- 사물인터넷 분야
4. IDLE
IDLE은 파이썬을 설치하면 기본적으로 같이 설치되는 에디터로 파이썬만 지원함 IDLE 모드
- 대화형 shell 모드 : 기본적으로 실행됨
- 편집기 모드 : 한번에 해석(한 줄씩)하며 print를 써야함
5. Visual Stdio Code
특징
- 오픈소스이고 다양한 운영체제를 지원함
- 다양한 프로그래밍 언어를 지원함
- 자동 완성과 디버깅이 쉬우며, 확장기능을 설치할 수 있음
- 내부에서 GIT을 바로 이용할 수 있음
2. 변수와 자료형
1. 변수
변수란, 자료를 담기 위한 공간
변수 작명규칙
- 예약어 사용 X
- 숫자를 첫번째 문자로 사용 X
- 공백 사용 X
- 밑줄 문자 사용 가능
- 대소문자를 구별함
2. 자료형
파이썬은 지정하여 선언하지 않고, 변수에 대입하는 값에 따라 자료형을 지정함
1) 정수형(int) : 정수 자료형
2) 실수형(float) : float, double 등의 구분 없이 소수점을 가진 수를 그대로 사용
3) 그 밖의 숫자
- 진수 표현 : 0b, 0o, 0x (2진수, 8진수, 16진수)를 쓰고 뒤에 수를 씀
- 지수 표현 : 표기 10e3 (10.0 x 10 ^ 3) / 모두 실수형으로 정밀도의 한계가 있음 (사용시 특정 정밀도 필요시, decimal 사용)
- 복소수 : 허수 표현에는 j 또는 J를 사용 함, 1.2 + 3.4j 또는 1.2 + 3.4J
4) 문자열 : 문자열은 작은따옴표 또는 큰따옴표를 이용해 묶음
- 인덱싱 : 문자열에서 원하는 자리의 문자를 가져옴
- 슬라이싱 : 문자열에서 원하는 부분을 잘라서 가져옴
len(): 문자열의 글자수 세기s.upper(): 모두 대문자로 바꾸기s.lower(): 모두 소문자로 바꾸기s.strip(): 공백 없애기s.find('a'): 왼쪽 부터 인자 'a' 찾기 (못 찾으면 -1)s.rfind('a'): 오른쪽 부터 인자 'a' 찾기 (못 찾으면 -1)- format : 문자열 형식을 정하고 인자를 주어 문자열 완성
5) 리스트
- 리스트 생성 : 문자열, 튜플, 딕셔너리(키), 셋, range(), 숫자 등의 값이 리스트 요소로 들어감
- 리스트에 요소 추가 :
append(인자)리스트에 인자가 한 요소로 들어감/insert(인덱스, 값)인덱스 위치에 값을 요소로 추가/extend(인자)인자가 리스트 이면 하나씩 해체해 요소로 추가 - 리스트에 요소 수정 : 값을 찾고 수정할 수 있으며, 슬라이싱도 가능함
- 리스트에서 요소 제거 :
del 리스트[인덱스],pop(인덱스)해당 인덱스의 요소 제거/remove(값)해당값을 리스트에서 제거하며 제일 왼쪽 1개만 제거함/clear()모든 요소 제거 - 리스트에서 요소 탐색 :
값 in 리스트리스트에 값이 있는지 확인함 len(): 리스트의 요소개수를 셈
6) 튜플 : 다양한 데이터를 하나로 묶어주는 기능으로 변경이 불가능 함
- 튜플 생성
t = (12,34) # (12,34)
print(t*2) # (12,34,12,34)
- 페킹, 언페킹 : 괄호를 생략해도 하나로 묶어서 대입, 여러개로 대입해도 하나씩 들어감
t = 1, 2, 3 # 패킹 (1,2,3)
x, y, z = t # 언패킹
# x = 1, y = 2, z = 3
7) 딕셔너리
- 딕셔너리 생성 : 키로는 문자열, 숫자, 변경이 불가능한 형식의 자료형(튜플....)이 가능
club = [, {"예원":"델타"}, {"원재":"Raf"}, {"준혁":"blueprint"}, {"소은":"노운"}]
- 딕셔너리에 요소 추가/수정 : 존재하지 않는 키에 값을 대입하면 그 키로 값이 추가, 키가 존재하면 해당 값을 수정
club["서윤"] = "trust"
club["예원"] = "Raf"
- 딕셔너리에 요소 검색 :
키 in 딕셔너리딕셔너리에 키가 있는지 확인 /값 in 딕셔너리.values()딕셔너리에 값이 있는지 확인
8) 셋 : 집합
- 셋 생성 : 중괄호를 이용하여 생성하며 문자열, 리스트, 튜플, 딕셔너리, range() 등이 요소로 들어감
dessert = {"icecream", "cake", "cookie"}
- 셋에 추가 :
add()요소 하나를 추가할때 사용/update()여러 요소를 추가할때 사용
9) 논리형 : 참과 거짓 두가지 결과만 있는 자료형
- 숫자형 : 0 false / 0이 아닌 숫자 true
- 문자열 : " " false / "Python" true
- 리스트 : [ ] false / [1,2,3] true
- 튜플 : () false
- 딕셔너리 : {} false
- 셋 : set() false
3. 연산자
1. 수식 연산자
+: 더하기-: 빼기*: 곱하기/: 나누기//: 나눗셈의 몫 구하기%: 나눗셈의 나머지 구하기**: 거듭제곱
2. 대입 연산자
=: 값을 대입+=: 특정 값을 더하고 대입-=: 특정 값을 빼고 대입*=: 특정 값을 곱하고 대입/=: 특정 값을 나누고 대입//=: 특정 값을 나눈 몫 구하고 대입%=: 특정 값을 나눈 나머지 구하고 대입**=: 특정 값을 거듭제곱하고 대입
3. 비교 연산자
a == b: 같은지 판단a != b: 다른지 판단a > b: a가 b보다 큰지 판단a >= b: a가 b보다 큰거나 같은지 판단a < b: a가 b보다 작은지 판단a <= b: a가 b보다 작거나 같은지 판단
4. 비트 연산자
a & b: and 연산a | b: or 연산a ^ b: xor 연산~ a: 보수연산 (1의 보수)a << b: 시프트연산 a를 왼쪽으로 b 비트만큼 옯김a >> b: 시프트연산 a를 오른쪽으로 b 비트만큼 옯김