파이썬 심화(자료형)

오상윤·2022년 12월 30일
0

파이썬 심화

목록 보기
1/9

python 자료형

변수

  • 프로그래밍 언어에서의 변수 : 값이 저장된 메모리의 위치에 주어진 이름
  • 부동소수 : 실수를 컴퓨터 상에서 표현할 때 근사하는 방식의 하나

숫자형

  • 숫자형이란 숫자 형태로 이루어진 자료형
  • 123과 같은 정수, 12.34와 같은 실수, 8진수나 16진수, 그리고 복소수도 있다

정수형

실수형

  • 정수와 정수를 연산해도 파이썬에서 기본적으로 출력하는 타입은 실수(float)

문자형

  • 문자, 숫자 등으로 구성된 문자들의 집합
  • 쌍따옴표(")또는 따옴표(')로 둘러싸서 만든다.
  • 문자열에 \ 문자는 escape문자다 - \\\ : \ 문자 - \' : 따옴표 - \n : 줄변경 - \t : 탭 두 문자열을 더하면 두 문자를 붙이고, 숫자와 곱하면 문자열을 반복한다.

문자열 인덱싱과 슬라이싱

기본적으로 문자열은 데이터를 변경할 수 없기 때문에 슬라이싱을 많이 이용한다.

  • 인덱싱 : 한글자씩 꺼내기
  • 슬라이싱 : 여러글자 꺼내기
    • 문자열[0] : 0 번째부터
    • 문자열[-1] : -1 부터

문자열 함수

  • len(문자열) : 길이를 반환
  • 문자열.startswith(문자열2) : 문자열이 문자열2로 시작하는지 판단
  • 문자열.endswith(문자열2) : 문자열이 문자열2로 끝나는지 판단
  • 문자열.find(문자열2) : 문자열 안에 문자열2가 있는지 판단하고 없을 경우 -1, 있을 경우 위치를 반환
  • 문자열.count(문자열2) : 문자열 안에 문자열2가 몇 번 등장하는지 반환
  • 문자열.strip(): 양 옆에 있는 공백

문자열 포메팅

  • 방법 1 : "현재 시간은 {}시 입니다".format(7)
  • 방법 2 : "현재 시간은 %d시 입니다."%7
"지금은 {time}시 {minute}분 입니다.".format(time = 7, minute = 30)

순서형

  • 값들이 연속적으로 저장된 형태를 뜻한다
  • 리스트와 튜플 (문자열도 순서형)
  • 리스트, 튜플 ,셋을 서로 변환 가능
    • set()
    • list()
    • tuple()

리스트

  • 리스트 = [요소1,요소2...]
  • 리스트도 인덱싱, 슬라이싱 가능
  • 요소 추가 : 리스트.append(값)
  • 정렬 : 리스트.sort()
  • 뒤집기 : 리스트.reverse()
  • 위치 반환 : 리스트.index(값)
  • 삭제 : del 리스트[위치]
  • 문자열로 변환 : print('.'.join(['a','b','c','d']))

다중리스트

  • a = [1,2,3,[1,2,3]
  • 다중 리스트에서도 슬라이싱 인덱싱 가능

튜플

  • 튜플 = (요소1, 요소2, 요소3,,,,)
  • 튜플은 리스트와 거의 비슷하지만 [대신 (를 쓴다.
  • 1개의 요소만 가지면 반드시 ,를 붙여야한다.
  • 튜플과 리스트의 가장 큰 차이는 튜플은 값을 변경할 수 없다는 것이다.

set

  • set = {요소1,요소2...}
  • a = set(요소1, 요소2,,,)
  • 데이터를 순서와 상관없이 중복도 허가하지 않고 모아놓은 자료형
  • 순서형은 아님
  • 순서가 없기 때문에 인덱싱과 슬라이싱 불가능
  • 값 추가 : 셋.add(값)
  • 전체 제거 : 셋.clear()
  • 합집합 : 셋1.union(셋2)
  • 교집합 : 셋1.intersection(셋2)
  • 차집합 : 셋1.difference(셋2)

매핑형

딕셔너리

  • key:value의 형태로 주어진 데이터들의 집합을 딕셔너리라고 한다.
  • key에는 변하지 않는 값을 사용하고 value에 있는 값은 변경 가능하다.
  • key의 순서는 없으며 key는 중복될 수 없다.
  • key의 자료형에는 제한이 없지만 일반적으로 문자열을 쓴다.
  • key에 대응되는 value를 가져오고 싶으면 dictionary[key]를 입력
  • 길이 반환 : len(딕셔너리)
  • 데이터 삭제 : del 딕셔너리[key]
  • 키 값 모두 반환 : 딕셔너리.keys()
  • 벨류 값 모두 반환 : 딕셔너리.values()

자료형의 복사

a = [1,2,3,4]
b = a
b[3] = 1
print(a)
print(b)
# b를 바꾸면 원본인 a도 같이 바뀜
a = [1,2,3,4]
b = a.copy()
b[3] = 1
print(a)
print(b)
# b를 바꿔도 원본인 a는 그대로

자료형 실습

pin = "881120-1068234"
birth = pin[:6]
num = pin[7:]
print('생년원일: ', birth)
print('주민번호 뒷자리', num)
# 이름은 철수 나이는 +14+살 형식으로 출력
print("이름은 철수 나이는 "+ str(14)+"살")
# 철수's house(특수문자'포함)
print('철수\'s house')
string = "우리 둘이 있을 때는 두려움이 없었다 친구"
# 우리
print(string[:2])
# 친구
print(string[-2:])
# 값을 대체해서 출력 : -> #
a = "a:b:c:d"
print(a.replace(":","#"))
# split으로 문자열을 리스트로 변환
b1 = "사과, 복숭아, 배, 딸기"
b2 = b1.split(', ')
print(b2)
# join으로 문자열이나 리스트 사이에 삽입해서 문자열로 변환
print(','.join('abcd'))
print('.'.join(['a','b','c','d']))
d1 = {'이름':'하니', '나이':23, '취미':'코 후비기'}
# key값들 출력
print(d1.keys())
# value값들 출력
print(d1.values())
# key-value값들 출력
print(d1.items())
profile
가보자가보자~

0개의 댓글