플밍 시험 공부

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 비트만큼 옯김