1주차에서 데이터의 기본 교육과 파이썬 교육을 위한 환경설정을 마쳤다면,
2주차는 파이썬으로 데이터를 다루기에 앞서 기본적인 파이썬 코딩을 배웠다.

가장 먼저 데이터타입과 변수에 대해, 그리고 반복문, 조건문, 함수 등을 공부했다.

배웠던 내용을 차례대로 한번 정리해보고자 한다.
먼저 데이터 타입부터!

data type

데이터 타입은 말 그대로 해당 데이터가 어떤 타입을 가지고 있는가 하는 의미로,
모든 프로그래밍 언어가 데이터를 다루기 위해 하는 약속이다.
프로그래밍 언어마다 데이터타입이 조금씩 다르다고 하는데, 파이썬은 꽤나 쉬운편이라고 한다.

그리고 이 데이터 타입은 변수(Variable)에 담겨져서 활용된다.

데이터 타입은 크게 숫자, 문자열, 연속형 데이터로 구분되는데,
숫자는 또다시 정수/실수로 나뉘고 연속형도 크게 3가지로 다시 구분된다.

1) 숫자형 데이터

숫자형 데이터는 사칙연산이 모두 가능하고, 아래 코드를 통해 특수 연산도 가능하다.

a를 b번 연속 곱하기(제곱)
a ** b
a를 b로 나눈 몫
a // b
a를 b로 나눈 나머지
a % b

위 특수연산을 이용해서 아래와같이 윤년 퀴즈를 풀어볼 수 있었다.
아래는 내가 짠 코드!

2) 문자열 데이터

문자열은 말 그대로 문자를 나열한 데이터로 문자를 삽입하거나 지우거나 공백을 없애기 등 숫자와 비슷하게 연산이 가능했다.
그중 가장 많이 쓰인다고 하지만 내겐 가장 어려웠던 내용은 문자열 Formmatting이었다.

문자열 Fommatting이란
주민번호, 이름 등 특정한 포맷 안에서 데이터만 받아서 바뀌는 경우, 형식은 그대로 두고, 문자만 바뀌게 만드는 방법이다.
예를 들어 주민번호면 000000-0000000 형식은 그대로고 안에 데이터만 입력받는 데이터로 치환하는 것!

문자열 포맷에는 크게 3가지가 있는데, 그중 f-string을 가장 많이 사용한다고 한다.

1. print format
print("%s는 %d개 있다." %("사과", 4))
2. str.format
print("{}는 {}개 있다." .format("사과",4))
3. f-string(**)
apple = "사과", count = 4
print("{apple}는 {count}개 있다.")

3가지 방법 모두 결과는 "사과는 4개 있다." 이다.

3) 연속형 데이터

연속형 데이터는 말 그대로 여러 데이터를 연속해서 담을 수 있는 데이터타입으로 리스트, 튜플, 문자열이 있다.
문자열도 결국 문자 여러개를 붙여서 한번에 담는 것이기 때문에 연속형 데이터에 들어간다.

리스트와 튜플의 가장 큰 차이점은!
리스트는 원소 데이터 수정이 가능하고, 튜플은 불가능하다는 것이다.
즉, 데이터를 절대 건드리면 안되는 경우에는 튜플로 만들어야 한다는 것!

리스트 관련 함수들

1. 리스트 추가하기
L = []
L.append(3)
L.append(2)
L.append(1)

결과: L = [3, 2, 1]
2. 리스트 원소 정렬하기
L.sort()
L.sort(reverse=True) 하면 desc정렬 된다.
3. 리스트 뒤집기
L.reverse() = L[::-1]
정렬이 아니라 그냥 뒤집는 방법!
4. 리스트원소 제거하기
L.pop() 
맨 마지막 원소부터 하나씩 삭제된다.

4) 기타

(1) set

집합은 수학에서 배우는 집합과 같은 원리이다.
리스트처럼 순서를 같지 않기 때문에 인덱싱이 불가능하고, 동일한 데이터(2, 2)는 한개로 나타낸다.
즉 어떤 데이터들에서 각기 다른 데이터가 몇 개 있는지 알고 싶다면 집합을 이용할 수 있다.

집합 함수

s1 = {1, 2, 3, 4}
s2 = {4, 5, 3, 6}

1. 교집합
s1 & s2
{3, 4}
또는
s1.intersection(s2)
2. 합집합
s1 | s2  => 키보드 원표시를 shift 누르고!
또는
s1.union(s2)
{1, 2, 3, 4, 5, 6}
3. 차집합
s1 - s2
{1, 2}
4. 원소 추가
s = set()
s.add(3)
s = {3}
5. 여러 원소 추가
s = set(1, 2)
s.update(3, 4, 5)
s = {1, 2, 3, 4, 5}
6. 원소 삭제
s.remove(3)
s = {1, 2, 4, 5}

(2) dictionary

dictionary는 key-value 구조로 key값을 가지고 value를 구한다.
표현하자면 이런 구조

john이라는 키값으로 0011이라는 value값을 찾을 수 있다.
코드로 바꾸면 아래와 같다.

A = {'John' : '0011', 'Maria' : '1234'}

dictionary를 만들 때, key값은 value를 찾는 중요한 데이터이므로 중복되면 안되고,
수정이 가능해서도 안된다.

dictionary 함수

1. 모든 key값 보기
A.keys()
2. 모든 value보기
A.values()
3. 모든 key, value보기
A.items()
4. 해당 key값의 존재 여부 확인
key값 in A
존재 여부는 True, False로 나타난다.
5. 해당 value값 존재 여부 확인
value값 in A.values()

데이터타입만해도 다양한 함수를 가지고 있고,
여러 방면으로 활용이 가능하다.

다음번에는 if문, for문 등 실제로 내용을 컨트롤하는 코딩들을 정리해 보겠다.

profile
왕초보 탈출기 입니다!! :)

0개의 댓글