Python

[Python] Part.1 Python의 자료형

c1oud9 2023. 2. 4. 21:54

 

 

Ch01-01.숫자형

 

숫자형 : 숫자 형태로 이루어진 자료형

정수형 - int

ex) a = 1, a = - 2, a = 0

실수형 - float

ex) A = 1.2, a = - 2.3, a = 3.14e10, a = 3.17E-10

복소수 - complex

논리형 - bool True/False라는 논리 값을 가진다.

사칙연산
더하기  +
빼기  -
곱하기  *
나누기  /
나눗셈 몫 //
나머지 %
제곱 **
사칙 연산자 나머지 연산자 몫 연산자 제곱 연산자
+ - * / % // **

변수란? 값이 저장된 메모리의 위치에 주어진 이름.

 

 


 

Ch01-02.문자형

 

문자열(String)이란?

문자, 숫자 등으로 구성된 문자들의 집합이다.

" 또는 '로 둘러 싸서 만든다.

ex) A = ' Hello, world ', B = " Hello, word "

 

₩문자 → escape 문자

  • ₩\ : ₩ 문자
  • ₩' : 따옴표
  • ₩n : 줄 변경
  • ₩t : 탭

여러 줄에 걸친 문자열은 쌍따옴표 세개 또는 따옴표 세개 안에 기재한다.

A = '''
Hello,
world
'''
B = """
Hello,
world
"""

 

두 문자열을 더하면 'Hello' + 'World' → HelloWorld

숫자와 곱하면 문자열을 반복 'Hello' * 3 → HelloHelloHello

 

문자열 인덱싱과 슬라이싱

A = ' Life is short, you need python '

 

인덱싱이란? 문장에서 문자의 위치를 나타냄

문자열변수[ index ] : 문자열에서 특정한 값을 출력

index : 표시하려는 위치 번호

A[0]을 입력하면 L이라는 결과가 나온다.

뒤에서 부터 세고 싶다면 A[ -1 ], A[ -2 ] 등을 입력해보면 된다.

 

슬라이싱이란? 문장에서 연속된 문자를 뽑을 때 사용하는 기법

문자열변수[ 시작번호(index) : 끝번호+1(index) ]

index : 문자열 인덱싱 번호

A[ 0 : 4 ]를 입력하면 A 문자열에서 0번째 자리 부터 4번째 자리 이전까지 문자를 뽑아낸다.

A[ 0 : 4 ] → Life ([0][1][2][3])

A[ 5 : ] : 5번쨰 자리부터 끝까지의 문자열

A[ : 5 ] : 5번째 자리 전까지의 문자열

A[ 2 : -2 ] : 2번째 자리부터 뒤에서 2번째자리 전까지의  문자열 

주요 문자열 함수

len(문자열) : 길이를 반환

문자열.startswith(문자열2): 문자열이 문자열2로 시작하는지 판단

문자열.endswith(문자열2): 문자열이 문자열2로 끝나는지 판단

문자열.find(문자열2): 문자열 안에 문자열2가 있는지 판단하고 없을 경우 -1을 있을 경우 위치를 반환

문자열.count(문자열2): 문자열 안에 문자열2가 몇번 등장하는지 반환

문자열.strip(): 양 옆에 있는 공백 제거

문자열.find(문자열2): 문자열 안에 문자열2가 있는지 판단하고 없을 경우 -1을 있을 경우 위치를 반환

 

문자열 포매팅(String Formatting) : 특정한 값을 유동적으로 만들고 싶다면 문자열 포매팅을 이용

포매팅 방법 1) “현재 시간은 {}시 입니다.”.format(7)

포매팅 방법 2) “현재 시간은 %d시 입니다.” % 7

2번째 방법의 경우엔 % 뒤에 입력할 값의 형태를 지정해줘야 한다.

%d : 정수 %s : 문자열 %f : 실수 %o : 8진수 %x : 16진수

 

형 변환

정수 : int()

실수 : float()

문자열 : str()

 


 

Ch01-03.순서형

 

순서형이란?

순서형(sequential type)이란 값들이 연속적으로 저장된 형태를 뜻한다.

즉, 문자열도 순서형이다. 그 외에 대표적인 순서형으로 리스트와, 튜플이 있다.

 

순서형 type의 공통된 연산으로

인덱싱 : A[3]

슬라이싱 : A[3:6]

연결하기: + 연산자

반복하기: * 연산자

멤버 검사: in 연산자

길이 반환: len() 

 

리스트 (*리스트도 인덱싱 슬라이싱 가능 )

리스트 = [요소1, 요소2, 요소3, …]

ex)  A= [1,2,3]

A=[‘sd’,’as’,’fg’]

A=[1,2,’ff’]

A=list()

A=[]

 

 

다중 리스트 (*다중 리스트에서도 슬라이싱 인덱싱 가능!)

ex) A= [1,2,3,[1,2,3]]

A[3][2] = ?

 

리스트 관련 함수들

요소 추가 : 리스트.append( 값 )

정렬 : 리스트.sort()     (sorted(리스트) 는 다르다! )

뒤집기 : 리스트.reverse()

위치 반환 : 리스트.index( 값 )

삭제 : del 리스트 [위치 ]

기타: insert, remove, pop, extend

 

튜플

리스트 = (요소1, 요소2, 요소3, …)

ex) A= (1,2,3)

A=(‘sd’,’as’,’fg’)

A=(1,2,’ff’)

A=tuple()

A=()

A=(1,)

A= 1,2,3

• 튜플은 리스트와 거의 비슷하지만 [ 대신 (를 쓴다. 또한, 1개의 요소만 가지면 반드시 ,를 붙여야하고 괄호를 생략해도 된다.

• 튜플과 리스트의 가장 큰 차이는 튜플은 값을 변경할 수 없다는 것이다.

 

Set이란?

데이터를 순서와 상관없이 중복도 허가하지 않고 모아놓은 자료형이다

정확히는 순서형은 아니지만 튜플, 리스트와 유사성이 많다. (* 순서가 없기 때문에 인덱싱과 슬라이싱 불가능!)

ex) A= {1,2,3}

A=set([‘sd’,’as’,’fg’])

A=set(‘hello,world’)

A=set() 

 

set 주요 연산으로

값 추가 : 셋.add(값)

전체 제거 : 셋.clear()

합집합 : 셋1.union(셋2)

교집합 : 셋1.intersection(셋2)

차집합 : 셋1.difference(셋2)

 

형 변환

set() : set으로 변환

list() : 리스트로 변환

tuple() : 튜플로 변환

 


 

Ch01-04.매핑형

 

딕셔너리(dictionary)란?

Key : value의 형태로 주어진 데이터들의 집합을 딕셔너리라고 한다.

{key1:value1, key2:value2, key3:value3, …}

Key에는 변하지 않는 값을 사용하고 value에 있는 값은 변경 가능하다.

- key의 순서는 없으며 key는 중복될 수 없다.

- Key의 자료형에는 제한이 없지만 일반적으로 문자열을 쓴다.

- Key에 대응되는 value를 가져오고 싶으면 dictionary[key]를 입력.

 

Dictionary 만들기

dict1 = {} 또는 dict1 = dict()

dict1[5] = 3

dict1[3] = 2

→ dict= {5:3, 3:2}

 

주요 함수들

길이 반환: len(딕셔너리)

데이터 삭제 : del 딕셔너리[key]

키 값 모두 반환 : 딕셔너리.keys()

밸류 값 모두 반환 : 딕셔너리.values()

기타: clear, copy, get(key), update, popitem 등

 

키 값이 될 수 없는 것? List와 같이 값이 변할 수 있는 것은 키가 될 수 없다.

 


 

Ch01-05.심화학습-자료형의 복사

 

자료형의 복사?

a = 3

b = a

라는 방식으로 데이터를 정의했을 때 a가 무슨 형태인가에 따라 b에 저장되는 값이 달라진다.


 

Ch01-06.자료형 실습