IT Memory Note

[정보처리기사] 프로그래밍 언어 활용 : 파이썬(1) 본문

자격증/정보처리기사

[정보처리기사] 프로그래밍 언어 활용 : 파이썬(1)

h00ddu 2024. 8. 14. 07:55

 

1️⃣ 파이썬 기본 구조

 

 


(1) 파이썬 기본 구조

 

  • 사용자 정의 함수, 클래스가 먼저 정의되고, 그다음에 실행 코드가 나옴
  • 가독성을 위해 들여 쓰기를 함

 

2️⃣ 자료형

 


(1) 자료형의 유형

 

유형 설명 세부 유형
기본 자료형(Primitive Data Type) 직접 자료를 표현하는 자료형 숫자형(Number), 논리형(Logical)
컬렉션 자료형
(Collection Data Type)
다수의 데이터를 효과적으로 처리할 수 있는 자료형 문자열형(String), 리스트형(List), 튜플형(Tuple), 딕셔너리형(Dictionary), 세트형(Set)

 


 

(2) 기본 자료형(Primitive Data Type)

 

  • 직접 자료를 표현하는 자료형
유형 설명
숫자형(Number) 숫자를 저장하고자 할 때 사용하는 자료형
정수형(int), 실수형(float)이 있음
논리형(Logical, Boolean) 변수의 참, 거짓을 나타낼 때 사용하는 자료형
True(참), False(거짓)를 저장

자바는 참과 거짓을 나타낼 때 전부 소문자(true/false)이지만, 파이썬은 앞 글자가 대문자(True/False) 임


 

(3) 컬렉션 자료형(Collection Data Type)

 

  • 시퀀스 자료형과 비시퀀스 자료형이 있음
  • 시퀀스 자료형은 문자열형, 리스트형, 튜플형이 있고, 비시퀀스 자료형은 세트형, 딕셔너리형이 있음
구분 유형 설명
시퀀스 자료형 문자열형(String) 문자를 1개 또는 여러 개 저장하고자 할 때 사용하는 자료형
예 : s = apple
리스트형(List)  크기가 가변적으로 변하는 선형리스트의 성질을 가지고 있는 자료형
읽기, 쓰기가 모두 가능
예 : l = [1, 2, 3]

튜플형(Tuple) 초기에 선언된 값에서 값을 생성, 삭제, 수정할 수 없는 형태의 자료형
 읽기 전용이며 속도가 빠름
예 : t = (4, 5, 6)

비시퀀스 자료형 세트형(Set) 중복된 원소를 허용하지 않는 집합의 성질을 가지고 있는 자료형
예 : s = {7, 8, 9}
딕셔너리형(Dictionary) 키와 값으로 구성된 객체를 저장하는 구조로 되어 있는 자료형
예 : d = {'s':1, 'j':2, 'b':3}

파이썬의 세트형은 자바의 Set 클래스(HashSet)와 비숫함

 파이썬의 리스트형은 자바의 List 클래스(ArrayList, LinkedList)와 비슷함

 파이썬의 딕셔너리형은 자바의 Map 클래스(HashMap)와 비슷함

 

1. 시퀀스 자료형 구조

 

  • 순서가 존재하는 자료형으로 순서가 중요함

⓵ 시퀀스 자료형의 종류


  ㉮ 문자열형(String)

 

  •  문자를 1개 또는 여러 개 저장하고자 할 때 사용하는 자료형
  • print 안에 콤마(,)로 구분될 경우 띄어쓰기가 됨 = print("Apple", "Banana") → Apple Banana 출력
  • 파이썬 문자열은 포맷스트링을 이용하여 문자열을 출력할 수 있음
  • 파이썬 문자열에서는 in 연산자를 이용하여 찾고자 하는 문자열이 존재하면 True, 없으면 False를 리턴함

< 문자열 관련 메서드 >

함수 설명
upper() 문자열을 대문자로 변환하는 메서드
lower() 문자열을 소문자로 변환하는 메서드
isalnum() 문자열이 알파벳 또는 숫자로만 구성되어 있으면 True, 아니면 False를 리턴하는 메서드
isalpha() 문자열이 알파벳으로만 구성되어 있으면 True, 아니면 False를 리턴하는 메서드
isdecimal() 문자열이 정수이면 True, 아니면 False를 리턴하는 메서드
isdigit() 문자열이 숫자이면 True, 아니면 False를 리턴하는 메서드
isspace() 문자열이 공백으로만 구성되어 있으면 True, 아니면 False를 리턴하는 메서드
split 문자열을 매개변수로 전달된 문자(구분자)로 나누어 리스트로 변환하는 메서드
sep : 구분자(기본값 '')

 


  ㉯ 리스트형(List)

 

  • 크기가 가변적으로 변하는 선형리스트의 성질을 가지고 있는 자료형
  • [, ]를 이용하여 리스트형을 선언함
리스트명 = [요소1, 요소2, ...]

< 리스트형 메서드 >

메서드 설명
append(x) 리스트 마지막 요소 뒤에 값 x를 추가하는 메서드
clear() 리스트의 모든 항목을 삭제하는 메서드
copy() 리스트를 복사하는 메서드
count(x) 리스트에서 x 항목의 개수를 알려주는 메서드
extend(i) 리스트 마지막에 컬렉션 자료형 i를 추가하는 메서드
index(x) 값 x와 같은 값을 가지고 있는 인덱스 번호를 알려주는 메서드
insert(i, x) 리스트의 i 번지 위치에 값 x를 삽입하는 메서드
pop() 마지막 항목을 삭제하고 값을 꺼내오는 메서드
remove(x) 리스트에서 해당하는 값 x를 제거하는 메서드
 해당하는 값이 여러 개 있을 경우 가장 앞에 있는 값을 제거
reverse() 리스트 위치를 전부 역순으로 바꿔주는 메서드
sort() 리스트 항목들을 정렬하는 메서드 
  • 문자열형을 뺀 컬렉션 자료형들은 변수를 그냥 출력할 경우 괄호가 포함됨 → 리스트형인 변수의 print(a)를 하면 괄호도 같이 출력됨
  • 리스트에서 append, index 메서드를 이용하여 리스트에 값을 추가하고 remove 메서드를 이용하여 삭제함
  • 리스트를 2차원으로 만들 수 있고, 2차원 리스트는 [와 ] 사이에 [와 ]를 중첩하여 사용함

㉰ 튜플형(Tuple)

 

  • 초기에 선언된 값에서 값을 생성, 삭제, 수정이 불가능한 형태의 자료형
  • (, )를 이용하여 튜플형을 선언함
튜플명 = (요소1, 요소2, ...)

 


⓶ 시퀀스 자료형 요소 접근 방법 - 인덱싱(Indexing)

 

  • 시퀀스 자료형에서 특정 요소에 접근하는 방법
  • 시퀀스 자료형이 n개의 값을 가질 때 인덱스는 다음과 같다
첫 번째 요소 두 번째 요소 ... 뒤에서 두 번째 요소 뒤에서 첫 번째 요소
0 1 ... (n-2) (n-1)
-n -(n-1)   -2 -1
  • 문자열, 리스트 같은 자료구조에서 사용함
  • 문자열 인덱싱은 문자열에 부여된 번호로 원하는 문자를 가리킬 때 사용함
  • 문자열 앞에서부터 시작하면 인덱스는 0부터 시작하고, 뒤에서부터 시작하면 -1부터 시작함
  • 튜플의 요소 접근을 위해 인덱싱을 사용함
  • 인덱싱으로 접근했을 때는 출력 결과에 괄호가 없음

⓷ 시퀀스 자료형 요소 접근 방법 - 슬라이싱(Slicing)

 

  • 시퀀스 자료형에서 여러 개의 데이터에 동시에 접근하는 기법
시퀀스변수명[시작 : 종료 : 스텝]
형태 설명
시작  슬라이싱을 시작할 인덱스
생략할 경우 '시퀀스변수명[ : 종료]' 또는 '시퀀스변수명[ : 종료 : 스텝]' 형태가 됨
생략할 경우 처음부터 슬라이싱
종료 슬라이싱을 종료할 인덱스
 종료 인덱스에 있는 인덱스 전까지만 슬라이싱
생략할 경우 '시퀀스변수명[시작 : ]' 또는 '시퀀스변수명[시작 : : 스텝]' 형태가 됨
 생략할 경우 마지막까지 슬라이싱
스텝 몇 개씩 끊어서 슬라이싱을 할지 결정하는 값
생략할 경우 '시퀀스변수명[시작 : 종료]' 또는 '시퀀스변수명[시작 : 종료 : ]' 형태가 됨
생략할 경우 1이 기본값

  ㉮ 문자형 슬라이싱

 

  • 문자열에서 부분 문자열을 추출할 수 있음
  • 슬라이싱을 통해 출력할 때는 괄호가 표시되지만, 문자열 슬라이싱은 다른 시퀀스 자료형과 다르게 출력 결과에 괄호가 표시되지 않음

  ㉯ 리스트 슬라이싱

 

  • 리스트의 원하는 부분을 추출할 수 있음

  ㉰ 튜플 슬라이싱

 

  • 튜플의 원하는 부분을 추출할 수 있음

⓸ 시퀀스 자료형 연산자

 

  ㉮ 연결, 반복 연산자

 

연산자 설명
+ 두 시퀀스 자료형을 연결하는 연산자
* 시퀀스 자료형을 반복하는 연산자

 


㉯ in, not in 연산자

 

  • 특정 값이 시퀀스 자료형 내부에 있는지 확인하기 위해서 in 연산자를 활용함
연산자 설명
in 리스트 내부의 특정 값이 존재하는지 확인하는 연산자
not in 리스트 내부의 특정 값이 존재하지는 않는지 확인하는 연산자

 


2. 비시퀀스 자료형 구조

 

  • 순서가 존재하지 않는 자료형으로 순서가 중요하지 않음

⓵ 세트형(Set)

 

  ㉮ 세트형의 개념

 

  • 중복된 원소를 허용하지 않는 집합의 성질을 가지고 있는 자료형
  • set이라는 키워드로 세트형을 초기화하거나 {, }를 이용하여 세트형을 선언함
세트명 = set([요소1, 요소2, ...])
세트명 = {요소1, 요소2, ...}

 


  

㉯ 세트형 메서드

 

메서드 설명
add(값) 값을 1개 추가하는 메서드
update([값1, 값2, ...]) 여러 개의 값을 한꺼번에 추가하는 메서드
remove(값) 특정 값을 제거하는 메서드

 


⓶ 딕셔너리(Dictionary)

 

  ㉮ 딕셔너리형의 개념

 

  • 키와 값으로 구성된 객체를 저장하는 구조로 되어 있는 자료형

  ㉯ 딕셔너리형 요소 생성/변경/삭제

 

구분 문법 설명
생성 딕셔너리명 = {키1:값1, 키2:값2, ...} { } 안에 콜론(:)을 이용하여 키와 값을 구분하여 선언
변경 딕셔너리명[키] = 값 기존 변수에 키와 값을 추가
기존 변수에 해당 키에 해당하는 값이 있었으면 값을 변경
삭제 del 딕셔너리명[키] 기존 변수에서 해당 키와 키에 해당하는 값을 삭제

 


 

(5) 자료형 함수

 

1. type 함수

 

  • 자료형을 확인하는 함수
유형 세부 유형 출력
기본 자료형
(Primitive Data Type)
정수형(Integer) <class 'int'>
실수형(Floating Point) <class 'float'>
논리형(Logical) <class 'bool'>
컬렉션 자료형
(Collection Data Type)
문자열형(String) <class 'str'>
리스트형(List) <class 'list>
튜플형(Tuple) <class 'tuple'>
딕셔너리형(Dictionary) <class 'dict'>
세트형(Set) <class 'set'>

 


2. len 함수

 

  • 컬렉션 자료형의 크기를 계산하는 함수