자료형 1. 숫자와 문자열

변현섭·2023년 7월 26일
0

이번 포스팅부터 본격적으로 파이썬에 대해 학습해보도록 하겠습니다. 또한 파이썬 설치하는 방법에 대해서는 다루지 않을 예정이니, 파이썬 설치부터 진행하셔야 할 경우 아래의 링크를 참조해주세요.
>> 파이썬 설치하기
참고로 저는 파이썬 에디터로 VS Code를 사용합니다. VS Code에서 파이썬 개발환경 세팅하는 방법은 아래의 링크를 참조해주세요.
>> VS Code 파이썬 개발환경 세팅
파이썬 기초 다지기 시리즈의 기초 설명은 위키독스의 점프 투 파이썬을 기반으로 하고 있습니다. 거기에 C/C++ 또는 Java와의 비교를 추가로 다루고 있으며, 자주 쓰이지 않거나, 굳이 알아두지 않아도 큰 상관이 없는 부분은 배제했습니다.

Ⅰ. 자료형

1. 숫자형

1) 정수형

말 그대로 정수 자료형으로, 양의 정수와 음의 정수, 0이 해당된다.

>>> a = 123
>>> a = -178
>>> a = 0

2) 실수형

실수형은 소수점이 포함된 숫자에 대한 자료형이다.

>>> a = 1.2
>>> a = -3.45

3) 8진수와 16진수

자주 사용되지는 않지만, 한번 쯤은 봐둘만 하다.

① 8진수

  • 숫자 앞에 0o 또는 0O를 붙인다.
  • 여기서 o는 octal을 의미한다.
>>> a = 0o177
>>> print(a)
127

② 16진수

  • 숫자 앞에 0x를 붙인다.
  • 여기서 x는 hexadeciaml을 의미한다.
>>> a = 0x8ff
>>> b = 0xABC
>>> print(b)
2748

4) 사칙연산

다른 프로그래밍 언어와 마찬가지로 +,-,*,/로 사칙연산을 수행하며, %로 나머지 연산을 수행한다. 이외에도 파이썬만의 특별한 연산이 존재한다.

① 제곱 연산

  • **로 제곱연산을 수행할 수 있다.
  • x**y는 x의 y제곱을 반환한다.
>>> a = 3
>>> b = 4
>>> a ** b
81

② 몫 연산

  • //로 몫 연산을 수행할 수 있다.
  • 소수점 이하를 버리는 데에도 유용하게 사용할 수 있다.
>>> 7 / 4
1.75
>>> 7 // 4
1

2. 문자열 자료형

1) 문자열 만들기

① 큰 따옴표 이용

  • 문자열을 만드는 가장 일반적인 방법
  • 문자열 안에 작은 따옴표를 넣어야 할 때 사용
>>> food = "Python's favorite food is perl"

② 작은 따옴표 이용

  • 문자열 안에 큰 따옴표를 넣어야 할 때 사용
>>> say = '"Python is very easy." he says.'

※ 이스케이프 문자(\)
물론, 다른 프로그래밍 언어에서 처럼 \을 사용하여 표현하는 것도 가능하다.

>> food = 'Python\'s favorite food is perl'
>> say = "\"Python is very easy.\" he says."

③ 큰 따옴표 3번 이용

  • 문자열이 여러 줄인 경우에 사용
  • \n 없이 줄바꿈 가능
>>> multiline="""
... Life is too short
... You need python
... """

④ 작은 따옴표 3번 이용

  • 문자열이 여러 줄인 경우에 사용
  • \n 없이 줄바꿈 가능
>>> multiline='''
... Life is too short
... You need python
... '''

2) 문자열 연산

① 문자열 연결

  • Java와 마찬가지로 문자열을 +로 연결
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'

② 문자열 곱하기

  • *를 이용해 문자열을 반복
>>> a = "python"
>>> a * 2
'pythonpython'

③ 문자열 길이 연산

  • len 함수 이용
  • 파이썬의 기본 내장 함수로, 별다른 설정 없이도 바로 사용 가능
>>> a = "Life is too short"
>>> len(a)
17

④ 문자열 인덱싱

  • C/C++ 또는 Java에서와 동일한 기능
  • 0부터 세는 방식, -를 이용해 뒤부터 세는 것도 가능
  • 대신 뒤에서 부터 셀 때는 1부터 시작
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'

⑤ 문자열 슬라이싱

  • Java의 substring과 동일한 기능
  • 시작 번호부터 끝 번호 전까지의 문자열을 추출
  • 시작 번호를 생략하면, 처음부터 끝 번호까지 추출
  • 끝 번호를 생략하면, 시작 번호부터 끝까지 추출
  • 슬라이싱에 사용되는 인덱싱에도 - 적용 가능
>>> a = "Life is too short, You need Python"
>>> a[5:7] 
'is'
>>> a[:17]
'Life is too short'
>>> a[19:]
'You need Python'
>>> a[19:-7]
'You need'

※ 인덱싱으로 문자열 수정
문자열을 immutable 자료형이기 때문에 인덱싱 연산을 이용해 문자열을 변경하는 것은 불가능하다. 이것은 파이썬뿐 아니라 대부분의 프로그래밍 언어에 적용되는 내용이다. 만약 문자열을 수정해야 한다면, 슬라이싱 기법과 +를 이용하여 새로운 문자열을 생성하는 방식으로 진행해야 한다.

>> a = "Pithon"
>> a[1]
'i'
>> a[1] = 'y' // 에러 발생
>> a[:1] + 'y' + a[2:]
'Python'

3) 문자열 포매팅

① 문자열 포맷 코드

  • c++에서 사용하던 방식과 동일하다.
>>> "I eat %d apples." % 3
'I eat 3 apples.'
>>> "I eat %s apples." % "five"
'I eat five apples.'

② 문자열 안에 2개 이상의 값 넣기

  • % 다음에 괄호를 넣고 쉼표로 구분하면 된다.
>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
'I ate 10 apples. so I was sick for three days.'

4) 문자열 관련 함수

① count

  • 문자열에서 해당하는 문자의 개수를 반환
>>> a = "hobby"
>>> a.count('b')
2

② find

  • 문자열에서 해당하는 문자의 인덱스를 반환
  • 존재하지 않는 경우 -1 반환
>>> a = "Python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-1

③ index

  • 문자열에서 해당하는 문자의 인덱스를 반환
  • 존재하지 않을 경우 에러

④ join

  • 문자열 사이에 구분자를 삽입
  • java의 join과 동일
>>> ",".join('abcd')
'a,b,c,d'

⑤ replace

  • 문자열을 치환
>>> a = "Life is too short"
>>> a.replace("Life", "Your leg")
'Your leg is too short'

⑥ split

  • 구분자를 기준으로 문자열을 구분
  • 구분자를 입력하지 않을 경우 space, tab, enter를 기준으로 문자열을 구분
>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> b = "a:b:c:d"
>>> b.split(':')
['a', 'b', 'c', 'd']
profile
Java Spring, Android Kotlin, Node.js, ML/DL 개발을 공부하는 인하대학교 정보통신공학과 학생입니다.

0개의 댓글