Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 케이쉴드주니어
- 정리
- 클라우드
- 보안용어
- 드림핵
- 취약점진단
- Shell
- Review
- 자격증
- wargame
- study
- reivew
- 웹해킹
- 리눅스마스터2급
- keyword
- 복습
- 기록
- Security
- 자격증공부
- webhacking
- 공부
- 보안
- 워게임
- DreamHack
- 리눅스
- 위험관리
- Linux
- IT
- 정보처리기사
- it자격증
Archives
- Today
- Total
IT Memory Note
[정보처리기사] 프로그래밍 언어 활용 : 파이썬(1) 본문
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 함수
- 컬렉션 자료형의 크기를 계산하는 함수
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 프로그래밍 언어 활용 : 파이썬(3) (0) | 2024.08.14 |
---|---|
[정보처리기사] 프로그래밍 언어 활용 : 파이썬(2) (0) | 2024.08.14 |
[정보처리기사] 프로그래밍 언어 활용 : 자바(3) (0) | 2024.08.14 |
[정보처리기사] 프로그래밍 언어 활용 : 자바(2) (0) | 2024.08.14 |
[정보처리기사] 프로그래밍 언어 활용 : 자바(1) (0) | 2024.08.14 |