-
[Python 기초] 자료형Python & Django 2021. 5. 12. 14:14
이번에는 파이썬의 자료형에 대해 알아보겠습니다!
자료형
파이썬에는 '데이터의 표현을 위한 자료형'과 '데이터의 관리를 위한 자료형'이 있습니다.
데이터의 표현을 위한 자료형은 데이터의 종류를 구분해주며 숫자형과 문자형이 있고, 데이터의 관리를 위한 자료형에는 집합, 리스트, 튜플, 딕셔너리가 있습니다.
숫자형 자료형
우선 데이터의 표현을 위한 자료형인 숫자형과 문자형 자료형을 살펴보겠습니다.
숫자형 자료형
숫자형 자료형은 우리가 일반적으로 알고 있는 정수형(8진수, 16진수)과 실수형(소수점 표현, 지수형 표현)으로 표현되는 자료형입니다.
정수형은 integer 의 약자인 int 로 표현되며, 실수형은 float 로 사용합니다.
사칙연산은 평소 알고 있는 연산과 동일합니다.
int 로 숫자를 입력받고 덧셈하기 숫자형 자료형의 연산
숫자형 자료형의 사칙연산 중 덧셈, 뺄셈, 곱셈은 일반적으로 생각하는 것과 같습니다. 하지만, 나눗셈과 지수표현(거듭제곱)은 다르게 표현됩니다.
나눗셈은 몫 구하기, 나머지 구하기, 몫과 나머지 구하기 세 종류로 나뉩니다.
몫 구하기: //
나머지 구하기: %
몫과 나머지 구하기: /
숫자를 입력받아 두 변수를 나누었을 때, // 를 사용하면 10 나누기 3 의 몫인 3이 리턴됩니다.
% 를 사용하면 10 나누기 3의 나머지인 1이 호출됩니다.
마지막으로 / 를 사용하면 10 나누기 3의 몫과 나머지가 모두 호출됩니다.
지수표현 : 밑 ** 승수
아래 예시에서 num1 ** num2 에 num1 에 2를 넣고, num2 에 3을 넣었더니 2의 3승인 8이 호출되었습니다.
문자형 자료형
문자형 자료형은 문자 하나하나인 형태와 이를 이어 붙인 형태의 자료형입니다.
문자형 자료형을 표현할 때는 따옴표("" 또는 '') 안에 문자열을 작성해 표현합니다.
문자형 자료형의 덧셈과 곱셈은 다음과 같습니다.
덧셈: 두 개의 문자열을 나란히 이어붙임. ex) "티스토리" + " 블로그" == "티스토리 블로그"
곱셈: 해당 수만큼 문자열을 반복함. ex) "티스토리" * 3 == "티스토리티스토리티스토리"
문자형 덧셈 문자형 곱셈 문자형 자료형의 접근
문자형 자료형에 대한 접근 및 관리 방법으로 인덱싱과 슬라이싱이 있습니다.
우선 문자열에는 index 가 붙어있는데요, 이 인덱스는 문자열을 구성하는 각 문자들에 붙여진 번호입니다. 즉 각 문자에 대한 위치 정보입니다.
이를 활용해 인덱싱과 슬라이싱을 할 수 있습니다.
인덱싱
인덱싱은 문자열을 구성하는 하나의 문자에 접근하는 방법입니다. 문자열변수[인덱스번호] 를 활용해 사용합니다.
이는 0부터 시작하며 음수일 경우에는 뒤에서부터 시작합니다.
예를 들어, "이구의 개발공부" 라는 문자열이 있다면 각 글자마다 0, 1, 2, 3, 4, 5, 6, 7번이 붙어 있어서 문자열변수[인덱스번호] 를 호출하면 해당 번호에 맞는 문자가 리턴됩니다.
음수의 경우 뒤에서부터 문자가 호출됩니다.
"이구의 개발공부"에서 -1 은 부, -2 는 공, ... 이런 식입니다.
슬라이싱
슬라이싱은 여러개의 문자에 범위로 접근하는 방법입니다. 슬라이싱 표현은 [x:y] 로 하며 이때 x 번째부터 y 번째 전까지라는 의미입니다.
아래 예시를 보면 text1[0:3] 을 출력했을 때, 0, 1, 2 에 해당하는 '이구의' 가 출력됩니다.
문자열 자료형의 내장함수
문자열의 길이 : len(문자열변수)
len 함수는 length 의 줄임말로 문자열의 길이를 구할 때 사용합니다.
문자열 내 특정 문자의 등장횟수 구하기 : 문자열변수.count("특정문자")
count 함수를 통해 문자열 내 특정문자가 몇 번 나오는지 알 수 있습니다. 아래 문자열에서 count를 활용해 '개' 가 몇번 나오는지 호출했습니다.
문자열을 특정 기준으로 나누기 : 문자열변수.split()
문자열을 어떤 기준으로 나눌 때는 split 을 사용합니다. 괄호 안에 아무것도 입력하지 않으면 띄어쓰기를 기준으로 문자열이 나뉩니다.
임의로 콤마를 사용해 문자열을 나누고 split 을 호출해보겠습니다.
이런 식으로 split() 의 괄호 안에 원하는 기준을 넣어 문자열을 나눌 수 있습니다.
특정 문자의 인덱스 찾기 : find("문자"), index("문자")
find 와 index 는 해당 문자열에서 특정 문자의 인덱스 번호를 찾을 때 사용합니다.
find 와 index 의 차이점 : 찾고자 하는 문자가 '없을 때' 리턴값
찾는 문자가 없을 때 find는 -1 을 리턴 / index 는 에러를 리턴
아래 예시에서 text1 이라는 문자열에 없는 '박' 이라는 문자에 대해 find, index 를 호출하면 find 는 -1 을 리턴하지만, index 는 ValueError 를 발생시킵니다.
리스트 자료형
리스트 자료형은 데이터의 관리를 위한 자료형으로 X = [a,b,c,..] 와 같은 형태입니다.
어떤 데이터들을 모아 이름을 붙였다고 이해하면 쉬울 것 같습니다.
예를 들어, 이구 = [28, 학생, 12341234, 남성, 대한민국, 서울, 03031] 라는 데이터는 이구의 정보를 묶어둔 리스트 자료형입니다. 여기에는 나이, 직업, 연락처, 성별 등등 이구에 대한 갖가지 정보를 담을 수 있습니다.
따라서, 리스트는 변할 수 있는 다양한 자료들을 묶어주는 자료형입니다.
인덱싱, 슬라이싱
리스트 자료형은 문자열 자료형과 마찬가지로 인덱싱과 슬라이싱이 가능합니다.
len
리스트의 길이를 구해주는 len 도 사용할 수 있습니다.
리스트변수.sort()
sort 는 리스트의 자료들을 오름차순으로 정리해주는 함수입니다.
이때, sort 가 자체적으로 출력을 하지 않기 때문에 print 를 통해 해당 리스트를 불러오면 정리된 모습을 확인할 수 있습니다.
sort 하기 전 li 와 sort 후 li 리스트변수.index(특정원소)
index 함수를 통해 리스트 내 특정 원소의 인덱스를 구할 수 있습니다.
리스트변수.count(특정원소)
count 함수는 리스트 안에서 특정 원소의 개수를 세어줍니다.
딕셔너리 자료형
딕셔너리 자료형은 대응되는 데이터들을 관리하는 자료형입니다. 표현 방법은 {a:b, x:y, ...} 과 같이 중괄호 안에서 콜론(:)을 통해 대응을 표현합니다.
이때 a:b 에서 a 를 key, b 를 value 라고 하는데 키를 활용해 해당 밸류를 찾아낼 수 있습니다.
따라서, 키는 변하지 않아야 하며 중복되어서도 안됩니다.
키로 밸류 얻기 : get
딕셔너리변수.get(키) 를 하면 키에 해당하는 밸류를 얻어올 수 있습니다.아래 예시에서는 x 라는 변수에 dic.get('박지성') 을 담아 '박지성' 의 밸류를 호출한 결과입니다.
특정 키와 밸류 추가하기
딕셔너리 자료형에 특정 키와 밸류를 추가하는 방법은 딕셔너리자료형[key] = value 입니다.
아래 예시는 dic['메시'] = 'Goat' 를 추가한 후 dic 를 출력한 모습입니다.
특정 키와 밸류 삭제하기
del 함수를 사용하면 딕셔너리의 키와 밸류를 삭제할 수 있습니다. del 변수[key] 로 사용합니다.
아래 예시에서 del dic['데헤아'] 로 '데헤아' : '골키퍼' 라는 키와 밸류를 삭제했습니다.
이렇게 해서 파이썬 자료형의 기본적인 것들을 알아보았습니다!!!
'Python & Django' 카테고리의 다른 글
[Django] CURD 로 블로그 구현하기(READ) (0) 2021.06.01 [Django] 모델 생성, 어드민 페이지 실습 (0) 2021.06.01 [Django] MTV 패턴과 간단한 예제 실습(model 제외) (0) 2021.05.21 [Python 기초] 입력과 출력 (0) 2021.05.09 [Python 기초] 파이썬 시작하기 (0) 2021.05.09