[파이썬] 프로그래밍의 기초, 자료형 - 1 (숫자형, 문자열)
본문 바로가기
파이썬 시작하기

[파이썬] 프로그래밍의 기초, 자료형 - 1 (숫자형, 문자열)

by 동도리동동 2023. 2. 23.
반응형

'파이썬 프로그래밍'을 시작하며

AI 관련 포스팅을 많이 올리다보니 앞으로도 개발자로 살아가려면, AI를 배우지 않으면 안되겠다는 생각이 많이 들었습니다. 그동안은 회사에서도 AI에 관해 넘겨들은 지식만으로도 살 수 있었는데, 점차 직접 AI 과제를 진행해야하는 일들이 생겼습니다. 그리고 기존의 과제 진행 방식만으로는 더이상 성과를 낼만한 일들을 찾기가 힘든 상황도 있어서, AI를 배워보자 결심을 하게되었습니다. 사내 AI 교육에 입과하기 위해서는 파이썬 시험이 치뤄지기에, 벼락치기 공부를 해보고자 합니다. 이 글을 보는 분들에게도 파이썬 벼락치기 공부가 도움이 되었으면 좋겠습니다. 

 

 

 

 

 

 

자료형이란?

자료형이란 프로그래밍을 할 때 쓰이는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 뜻합니다. 소프트웨어 비전공자에게 프로그래밍을 설명할 때, 저는 개인적으로 '외국어'를 배우는 것과 비슷하다고 말합니다. 외국어를 배울 때, 단어를 어떻게 쓰는지, 문법은 무엇인지 알아야하는 것처럼, 프로그래밍도 원하는 프로그램을 만들기 위해서는 그 방법을 알아야합니다. 여기서, 자료형은 단어를 어떻게 쓰는지에 대한 부분과 유사하다고 보면 됩니다. 계산에 필요한 Data를 어떻게 정의하고, 다루고할지를 배운다고 생각하면 됩니다. 이번 포스팅에서는 파이썬에서 자료형을 어떻게 만들고 사용하는지에 대해서 알아보겠습니다. 

 

 

 

1. 숫자형 자료형

  • 정수형
# 변수 a에 정수 대입
a = 123
a = -345
a = 0

 

  • 실수형
# 변수 a에 실수 대입
a = 1.2
a = -3.45

 

  • 8진수
# 변수 a에 8진수 대입 (숫자0과 알파벳o)
a = 0o177

 

  • 16진수
# 변수 a에 16진수 대입
a = 0x8FF

 

  • 사칙연산
a = 3
b = 4

# a와 b를 더한 값 출력 = 7
a + b

# a와 b를 뺀 값 출력 = -1
a - b

# a와 b를 곱한 값 출력 = 12
a * b

# a와 b를 나눈 값 출력 = 0.75
a / b

 

  • 그 외 연산 (제곱, 나머지, 몫)
a = 3
b = 4

# a에 b를 제곱한 값 출력 = 81
a ** b

# a를 b를 나눈 나머지 출력 = 3
a % b

# a에 b를 나눈 몫 출력 = 1
a // b

 

 

 

 

 

2. 문자열 자료형

  • 문자열을 정의하는 여러가지 방법
# 큰 따옴표
str = "Hello World"

# 작은 따옴표
str = 'Hello World'

# 문자열 안에 작은 따옴표
str = "I'm hungry"

# 문자열 안에 큰 따옴표
str = 'I said "I\'m hungry"'

# 여러줄 (작은 따옴표 3개도 가능)
str = """
    Hello
    World
    I'm hungry
    """

 

  • 문자열 연산 (덧셈, 곱셈, 길이)
head = "Hello"
tail = "World"

# 문자열 더하기(Concatenation) = 'Hello World'
head + tail

# 문자열 곱하기(반복) = 'HelloHello'
head * 2

# 문자열 길이 구하기 = 5
len(head)

 

  • 문자열 인덱싱과 슬라이싱

문자열 인덱싱은 문자열 중, 특정 문자나 구간의 문자열에 접근하는 방식을 말한다. 문자열 슬라이싱은 인덱싱된 문자만 뽑아내는 것을 말한다. 많이 헷갈리기도 하고, 많이 사용되어서 시험에 자주 나온다. 

a = "ABCDEFG"

a[0]
# 'A' 출력, 1번째 문자

a[3]
# 'D' 출력, 4번째 문자

a[-1]
# 'G' 출력, 뒤에서 첫번째 문자

a[0:4]
# 'ABCD' 출력, 1~4번째 문자

a[4:]
# 'EFG' 출력, 5번째부터 끝까지의 문자

a[:4]
# 'ABCD' 출력, 1~4번째 문자

a[:]
#'ABCDEFG' 출력, 전체 문자열 출력

a[1:-2]
# 'BCDE' 출력, 2번째~뒤에서3번째 문자 출력


a[1] = 'Z'
# 2번째 문자를 'Z'로 바꿀 수 없어서, Error 발생

 

  • 문자열 포매팅(Formatting)

문자열 안에 특정 값을 삽입하는 방법을 말합니다. 포매팅 연산자, format 함수, f문자열 포매팅의 총 3가지 방법이 있습니다. 먼저, 포매팅 연산자를 활용하는 방법입니다. 

"I eat %d apples." % 3
# 'I eat 3 apples.' 출력


"I eat %s apples." % 'three'
# 'I eat three apples.' 출력


number = 4
"I eat %d apples." % number
# 'I eat 4 apples.' 출력


number = 10
day = "five"
"I eat %d apples for %s days." % (number, day)
# 'I eat 10 apples for five days.' 출력


"I eat %s apples." % 3.5
# 'I eat 3.5 apples.' 출력 (자동 형변환)


"Rainy rate : %d%%" % 80
# 'Rainy rate : 80%' 출력


"%10s" % "hi"
# '        hi' 출력, 공백과 'hi'를 포함해서 10개를 만들고, 오른쪽 정렬


"%-10sjane" % "hi"
# 'hi        jane' 출력, 공백과 'hi'를 포함해서 10개를 만들고, 왼쪽 정렬


"%0.4f" % 3.141592
# '3.1415' 출력


"%10.4f" % 3.141592
# '    3.1415' 출력, 공백과 '3.1415'를 포함해서 10개를 만들고, 오른쪽 정렬

 

format 함수를 사용하여 포매팅하는 방법입니다. 

"I eat {0} apples.".format(3)
# 'I eat 3 apples.' 출력


"I eat {0} apples.".format("five")
# 'I eat five apples.' 출력


number = 3
"I eat {0} apples.".format(number)
# 'I eat 3 apples.' 출력


number = 3
day = "five"
"I eat {0} apples for {1} days.".format(number, day)
# 'I eat 3 apples for five days.' 출력


"I eat {number} apples for {day} days.".format(number=10, day="five")
# 'I eat 3 apples for five days.' 출력


"{0:<10}".format("hi")
# 'hi        ' 출력, 공백과 'hi' 포함해서 10개를 만들고, 왼쪽 정렬


"{0:>10}".format("hi")
# '        hi' 출력, 공백과 'hi' 포함해서 10개를 만들고, 오른쪽 정렬


"{0:^10}".format("hi")
# '    hi    ' 출력, 공백과 'hi' 포함해서 10개를 만들고, 가운데 정렬


"{0:=^10}".format("hi")
# '====hi====' 출력, '='과 'hi' 포함해서 10개를 만들고, 가운데 정렬


y=3.141592
"{0:0.4f}".format(y)
# '3.1415' 출력

 

f문자열을 사용하여 포매팅하는 방법입니다. 이 방법은 파이썬 3.6 버전부터 가능합니다. 

name = "홍길동"
age = 30
f'제 이름은 {name} 입니다. 나이는 {age} 입니다.'
# '제 이름은 홍길동 입니다. 나이는 30 입니다.' 출력


age = 30
f'내년에는 {age+1}살이 됩니다.'
# '내년에는 31살이 됩니다.' 출력


f'{"hi":<10}'
# 'hi        ' 출력, 공백과 'hi' 포함하여 10개를 만들고 왼쪽 정렬


f'{"hi":=^10}'
# '====hi====' 출력, '='과 'hi' 포함하여 10개를 만들고 가운데 정렬


y = 3.141592
f'{y:0.4f}'
# '3.1415' 출력

 

  • 문자열 관련 함수 (문자 개수, 특정 문자 위치, 삽입, 대소문자, 공백 지우기, 문자열 바꾸기, 문자열 나누기)
# 문자 개수 세기 (Count)
a = "hobby"
a.count('b')
# 2 출력


# 특정 문자가 처음으로 나오는 위치 찾기 (find)
a = "Python is the best choice"
a.find('b')
# 14 출력

a.find('k')
# -1 출력

a.index('b')
# 14 출력


# 문자열 삽입 (join)
",".join('abcd')
# 'a,b,c,d' 출력


# 대소문자 바꾸기 (upper & lower)
a = 'hi'
a.upper()
# 'HI' 출력

a = 'HI'
a.lower()
# 'hi' 출력


# 공백 지우기 (strip)
a = ' hi '
a.lstrip()
# 'hi ' 출력

a = ' hi '
a.rstrip()
# ' hi' 출력

a = ' hi '
a.strip()
# 'hi' 출력


# 문자열 바꾸기 (replace)
a = "Life is too short"
a.replace("Life", "Your leg")
# 'Your leg is too short'


# 문자열 나누기 (Split)
a = "Life is too short"
a.split()
# ['Life', 'is', 'too', 'short']

b = "a:b:c:d"
b.split(':')
# ['a', 'b', 'c', 'd']

 

 

 

 

 

반응형

댓글