[파이썬] 자료형 - 숫자형, 문자열, 리스트, 튜플

미남잉·2021년 8월 29일
0

목차

  1. 숫자형
  2. 문자열 자료형
  3. 리스트 자료형
  4. 튜플 자료형

1. 숫자형

숫자형이란 숫자 형태로 이루어진 자료형입니다. 정수, 실수, 8진수, 16진수 등이 있습니다.

정수형

a = 123
a = -178
a = 0

실수형

a = 1.2
a = -3.45
a = 4.24E10
a = 4.24e-10

위는 일반적으로 볼 수 있는 실수형의 소수점 표현 방식입니다.

  • 4.24e10은 4.24E10과 동일합니다.
  • 4.24e10은 4.2410^10, 4.24e-10은 4.2410^-10입니다.

8진수와 16진수

8진수(octal)를 만들기 위해서 숫자가 0o 또는 0O로 시작하면 된다.

a = 0o166

16진수(Hexadecimal)를 만들기 위해서는 0x로 시작하면 된다.

a = 0x8ff
b = 0xABC

연산자

  • +. -. *, / (사칙연산)
  • **(제곱)
  • % (나눗셈 후 나머지 반환)
  • // (나눗셈 후 몫 반환)

2. 문자열

문자열(string)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미합니다.

"Life is too short, You need Python"
"a"
"123"

123은 숫자형으로 보이는 훼이크입니다. 따옴표("") 안에 들어가 있으니 문자열입니다.

문자열 만드는 법

  1. 큰 따옴표 사용("")
"Hello, World"
  1. 작은 따옴표 사용('')
'Python is fun'
  1. 큰 따옴표 3개 연속 사용
"""I want to be rich."""
  1. 작은 따옴표 3개 연속 사용
'''I want to be an engineer.'''

문자열 안에 작은 따옴표나 큰따옴표를 포함하고 싶을 때

  1. 문자열에 작은 따옴표 (') 포함 시키기
  • Python's favorite food is perl

위의 문장을 food라는 변수 안에 저장하고 싶다면

food = "Python's favorite food is perl"

큰 따옴표를 사용해서 둘러싸면 됩니다.

  1. 문자열에 큰 따옴표 포함시키기
  • "Python is very easy." he says
say = '"Python is very easy." he says'

이것도 작은 따옴표를 사용하여 둘러싸면 됩니다.

  1. 백슬래시()를 사용해서 작은 따옴표(')와 큰 따옴표(")를 문자열에 포함시키기
food = 'Python\'s favorite food is perl'
say = "\"Python is very easy.\" he says"

여러 줄인 문자열을 변수에 대입하고 싶을 때

  • Life is too short
    You need python
  1. 줄바꿈 '\n' 이용
multiline = "Life is too short\nYou need python"
  1. 연속된 따옴표 3개 사용하기
multiline = '''
Life is too short
You need python
'''
multiline = """
Life is too short
You need python
"""

이스케이프 코드란?

문자열 연산

  1. 문자열 더해서 연결하기
>>> head = "Python"
>>> tail = "is fun!"
>>> head + tail
'Python is fun!'
  1. 문자열 곱하기
a = 'Python'
a * 2
>>> 'PythonPython'
  1. 문자열 곱하기 응용
>>> print("=" * 50)
>>> print("My Program")
>>> print("=" * 50)
==================================================
My program
==================================================
  1. 문자열 길이 구하기
>>> a = "Python"
>>> len(a)
6

문자열 인덱싱과 슬라이싱

인덱싱(indexing)이란 무엇인가를 '가리킨다'는 의미이고 '슬라이싱(slicing)'은 무엇인가를 '잘라낸다'는 의미입니다.

  1. 문자열 인덱싱이란?

인덱스는 첫 번째 자리에 나오는 값부터 0부터 시작합니다.

>>> a = "Life is too short, You need Python"
>>> a[3]
e
  1. 파이썬은 0부터 숫자를 센다.

a[0] : 'L', a[1] : 'i', a[2] : 'f', a[3] : 'e', a[4] : ' ', ...

  1. 문자열 인덱싱 활용하기
>>>a[-0]
'L'

인덱스 -0은 0과 같은 것이기 떄문에 a[0], a[-0]은 같습니다.

>>> a[-1] # 뒤에서 첫 번째 문자
'n'
>>> a[-2] # 뒤에서 두번째 문자
'o'
  1. 문자열 슬라이싱이란?

단순히 한 문자만 뽑아내는 것이 아닌 'Life', 'is' 등을 출력하고 싶다면 어떻게 해야 할까요?

>>> b = a[0] + a[1] + a[2] + a[3]
b
'Life'

의 방법도 있지만

>>> b = a[0:4]
b
'Life'

의 방법도 있습니다. 이를 슬라이싱이라 합니다. [0:4]의 뜻은 0부터 4까지의 문자를 뽑아낸다는 뜻입니다. 대신 [0:4]는 0, 1, 2, 3까지만 뽑아냅니다.

a[시작 번호: 끝 번호] 를 지정할 때 '끝 번호'에 지정되는 인덱스까지는 뽑아주지 않습니다.

[0:3]은 0 <= a < 3 과 같습니다.

문자열 슬라이싱 하는 방법

>>> a[0:5]
'Life'

위의 예는 아까 보았던 것과 같습니다.

슬라이싱할 때 항상 시작 번호가 0일 필요는 없습니다.

>>> a[0:2]
'Li'
>>> a[5:7]
'is'
>>> a[12:17]
'short'

a[시작번호:끝번호]의 형식이기 때문에 원하는 부분을 슬라이싱 할 수 있습니다.

>>> a[:17]
'Life is too short'

시작 번호를 생략하면 자동으로 처음부터 끝까지 번호를 뽑아냅니다.

>>> a[:]
'Like is too short, You need Python'

[:] 는 처음부터 끝까지라는 의미입니다. 그래서 문자열 전체를 뽑아냅니다.

>>> a[19:-7]
'You need'

슬라이싱에서도 인덱싱과 마찬가지로 마이너스(-) 기호를 사용할 수 있습니다. 위 소스 코드에서 뜻하는 것은 a[19] 부터 a[-8]까지를 가져옵니다.

슬라이싱으로 문자열 나누기

>>> a = '20010331Rainy'
>>> date = a[:8]
>>> weather = a[8:]
>>> date
'20010331'
>>> weather
'Rainy'

위는 문자열 a를 두 부분으로 나누는 기법입니다. 숫자 8을 기준으로 한 번씩 슬라이싱했습니다.

>>> a = '20010331Rainy'
>>> year = a[:4]
>>> day = a[4:8]
>>> weather = a[8:]
>>> year
'2001'
>>> date
'0331'
>>> weather
'Rainy'

이렇게 세 부분으로 나눌 수도 있습니다.

여기까지 인덱싱과 슬라이싱에 대해 살펴보았습니다. 인덱싱과 슬라이싱은 프로그래밍 할 때 매우 자주 사용되는 기법이라고 합니다!

❗ 참고사항

문자열의 요소값은 변경이 불가능합니다. 문자열 자료형은 요솟값을 변경할 수 없어서 immutable한 자료형이라고도 합니다.

만약 a = 'Pithon" 이라고 y 대신 i 의 오타가 들어간 문자열 자료가 있다면 굉장히 오타를 바꿔주고 싶을 겁니다!

잘못된 방법

>>> a = 'Pithon'
>>> a[1]
'i'
>>> a[1] = 'y'
error!

바꿀 수 있는 방법 중 하나

>>> a = 'Pithon'
>>> a[:1]
'P'
>>> a[2:]
'thon'
>>> a[:1] + 'y' + a[2:]
'Python'

그렇다면 위의 값을 변수 a 에 다시 저장해준다면

>>> a = a[:1] + 'y' + a[2:]
>>> a
'Python'

으로 바꿔줄 수 있겠습니다.👏

profile
Computer Vision Engineer

0개의 댓글

관련 채용 정보