본문 바로가기
Programming Language/Python

[Do it! 점프 투 파이썬 2일차] 2장_파이썬 프로그래밍의 기초, 자료형(숫자형, 문자열 자료형)

by 요호유후 2024. 3. 26.
반응형

아래의 내용은 'Do it! 점프 투 파이썬' 책을 공부하며 정리하였습니다.

https://www.aladin.co.kr/shop/wproduct.aspx?ISBN=K362833219&start=pnaver_02

 

Do it! 점프 투 파이썬

챗GPT를 시작으로 펼쳐진 생성 AI 시대에 맞춰 설명과 예제를 다듬고, 최신 경향과 심화 내용을 보충했다. 또한 이번 개정 2판도 50만 코딩 유튜버인 조코딩과 협업을 통해 유튜브 동영상을 제공해

www.aladin.co.kr

 

 

숫자형

 

숫자형이란 숫자 형태로 이루어진 자료형입니다. 123과 같은 정수, 12.34와 같은 실수, 8진수나 16진수도 있습니다.

 

 

 

정수형

 

정수형이란 정수를 뜻하는 자료형을 말합니다.

>>> a = 123    <- 양의 정수 대입
>>> a = -178   <- 음의 정수 대입
>>> a = 0      <- 숫자 0 대입

 

 

실수형

 

실수형이란 소수점이 포함된 숫자를 말합니다.

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

 

다음은 '컴퓨터식 지수 표현 방식'으로, 파이썬에서는 4.24e10 또는 4.24E10 처럼 표현합니다. (e와 E 둘 중 어느 것을 사용해도 됩니다.) 여기서 4.24e10은 4.24 X 10^10, 4.24e-10은 4.24 X 10^-10을 의미합니다.

>>> a = 4.24E10    <- 4.24X10^10
>>> a = 4.24e-10   <- 4.24X10^-10

 

 

8진수와 16진수

 

8진수를 만들기 위해서는 숫자가 0o 또는 0O(숫자 0 + 알파벳 소문자 o 또는 대문자 O)으로 시작하면 됩니다.

>>> a = 0O177
>>> print(a)
127       <- 1x8^2 + 7x8 + 7 = 127

 

16진수를 만들기 위해서는 0x로 시작하면 됩니다.

>>> a = 0x8ff
>>> b = 0xABC
>>> print(b)
2748      <- 10x16^2 + 11x16 + 12 = 2748

 

 

x의 y제곱을 나타내는 ** 연산자

 

** 연산자는 x ** y 처럼 사용했을 때 x의 y 제곱(x^y)값을 리턴합니다.

>>> a = 3
>>> b = 4
>>> a ** b
81

 

 

나눗셈 후 나머지를 리턴하는 % 연산자

 

%는 나눗셈의 나머지값을 리턴하는 연산자입니다.

>>> 7 % 3
1

>>> 3 % 7
3

 

 

나눗셈 후 몫을 리턴하는 // 연산자

 

// 는 나눗셈 후 몫을 리턴하는 연산자입니다.

>>> 7 // 4
1

 

 

 

 

문자열 자료형

"Life is too short, you need python."
"a"
"123"

 

따옴표("")로 둘러싸여 있으면 모두 문자열이라고 봅니다. 위의 예시 중 123은 숫자 이지만, 따옴표로 둘러싸여 있기 때문에 문자열입니다!

 

 

 

문자열 만드는 방법

 

  1. 큰따옴표로 양쪽 둘러싸기

"Hello World"

 

  2. 작은따옴표로 양쪽 둘러싸기

'Python is fun'

 

  3. 큰따옴표 3개를 연속으로 써서 양쪽 둘러싸기

"""Life is too short, you need python."""

 

  4. 작은따옴표 3개를 연속으로 써서 양쪽 둘러싸기

'''Life is too short, you need python.'''

 

 

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

 

  1. 문자열에 작은따옴표 포함하기

      문자열을 큰따옴표로 둘러싸야 합니다.

"Python's favorite food is perl"

 

  2. 문자열에 큰따옴표 포함하기

      문자열을 작은따옴표로 둘러싸면 됩니다.

'"Python is very easy." he says.'

 

  3. 역슬래시를 사용하여 작은따옴표와 큰따옴표를 문자열에 포함하기

      작은따옴표나 큰따옴표를 문자열에 포함시키는 또 다른 방법은 역슬래기(\)를 사용하는 것입니다.

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

 

 

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

 

  1. 줄을 바꾸기 위한 이스케이프 코드 \n 삽입하기

 

  2. 연속된 작은따옴표 3개 또는 큰따옴표 3개 사용하기

 

  * 이스케이프 코드

코드 설명
\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에 탭 간격을 줄 때 사용
\\ \를 그대로 표현할 때 사용
\' 작은따옴표(')를 그대로 표현할 때 사용
\" 큰따옴표(")를 그대로 표현할 때 사용
\r 캐리지 리턴(줄 바꿈 문자, 커서를 현재 줄의 가장 앞으로 이동)
\f 폼 피드(줄 바꿈 문자, 커서를 현재 줄의 다음 줄로 이동)
\a 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다)
\b 백 스페이스
\000 널 문자

 

 

문자열 곱하기

 

*는 문자열의 반복을 뜻하는 의미로 사용됩니다.

>>> a = 'python'
>>> a * 2
'pythonpython'

 

 

문자열 길이 구하기

 

len 함수를 사용합니다. 문자열의 길이에는 공백 문자도 포함됩니다.

>>> a = 'Life is too short"
>>> len(a)
17

 

 

문자열 인덱싱

 

a[번호]는 문자열 안의 특정한 값을 뽑아 내는 역할을 합니다. 이러한 작업을 '인덱싱' 이라고 합니다. 문자열을 뒤에서부터 읽기 위해서는 -(빼기) 기호를 붙여줍니다. 예를 들어 a[-3]과 같이 입력해줍니다.

 

또한, 0과 -0은 똑같은 것이지 떄문에 a[-0]은 a[0]과 같은 값을 보여 줍니다.

>>> a = "Life is too short, you need pythom"
>>> a[3]
'e'

 

문자열 슬라이싱

 

a[0:4]는 문자열에서 자리 번호 0부터 4까지의 문자를 뽑아 낸다는 뜻입니다. a[시작번호:끝번호]를 지정할 때 끝 번호에 해당하는 문자는 포함되지 않습니다. 즉, a[0:3]을 수식으로 나타내면 '0 <= a < 3'과 같습니다.

 

* 특징

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

   - 끝 번호 부분을 생략하면 시작번호부터 그 문자열의 끝까지 뽑아냅니다.

   - 시작 번호를 생략하면 문자열의 처음부터 끝 번호까지 뽑아냅니다.

   - 시작 번호와 끝 번호를 생략하면 문자열의 처음부터 끝까지 뽑아냅니다.

   - -(빼기) 기호를 사용할 수 있습니다.

>>> a = "Life is too short, you need python"
>>> a[0:4]
'Life'

 

 

문자열 포매팅

 

  1. 숫자 바로 대입 : %d 문자를 넣어줍니다.

>>> "I eat %d apples." % 3
'I eat 3 apples.'

 

  2. 문자열 바로 대입

>>> "I eat %s apples." % "five"
'I eat five apples.'

* 문자열을 대입할 때는 반드시 큰따옴표나 작은따옴표를 써야합니다.

 

  3. 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.'

 

* 문자열 포맷 코드

코드 설명
%s 문자열(string)
%c 문자 1개(character)
%d 정수(interger)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)

 

 

format 함수를 사용한 포매팅

 

  1. 숫자 바로 대입하기

>>> "I eat {0} appels".format(3)
'I eat 3 apples'

 

  2. 2개 이상의 값 넣기

>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 appels. so I was sick for three days.

 

  3. 이름으로 넣기

>>> "I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
'I ate 10 appels. so I was sick for 3 days.

 

 

문자열 관련 함수들

 

  1. 문자 개수 세기 - count

  2. 위치 알려주기1 - find

  3. 위치 알려주기 2 - index

 * find와 index의 차이점은 find는 찾는 문자나 문자열이 존재하지 않는다면 -1을 반환하지만, index의 경우에는 오류가 발생합니다.

  4. 문자열 삽입 - join

  5. 소문자를 대문자로 바꾸기 - upper

  6. 대문자를 소문자로 바꾸기 - lower

  7. 왼쪽 공백 지우기 - lstrip : 가장 왼쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지웁니다.

  8. 오른쪽 공백 지우기 - rstrip : 가장 오른쪽에 있는 한 칸 이상의 연속된 공백들을 모두 지웁니다.

  9. 양쪽 공백 지우기 - strip : 양쪽에 있는 한 칸 이상의 연속된 공백을 모두 지웁니다.

  10. 문자열 바꾸기 - replace : replace(바뀔문자열, 바꿀문자열)처럼 사용해서 문자열 안의 특정한 값을 다른 값으로 치환  해 줍니다.

  11. 문자열 나누기 - split : a.split()처럼 괄호 안에 아무 값도 넣어주지 않으면 공백(space, tab, enter 등)을 기준으로 문자열을 나누어 줍니다. 만약 b.split(:)처럼 괄호 안에 특정 값이 있을 경우에는 괄호 안의 값을 구분자로 해서 문자열을 나누어 줍니다.

 

 

오늘의 공부 끄읕-

 

반응형

댓글