파이썬 기초 1-1. 숫자형과 문자열

MANBOKWAK·2024년 1월 8일

파이썬 기초

목록 보기
1/15

1. 숫자형

  • 숫자 형태로 이루어진 자료형
    ex) 123, 12.34 또는 8진수, 16진수

    항목파이썬 사용 예
    정수123, -345, 0
    실수123.45, -12345.5, 3.4e10
    8진수0o34, 0o25
    16진수0x2A, 0xFF

숫자형의 생성법 및 활용

정수형

  • Integer형으로 정수를 뜻하는 자료형
# Example
a = 123
b = -178
c = 0

실수형

  • 파이썬에서 실수형은 소수점이 포함된 숫자를 말함
# Example
a = 1.2
b = -3.45
c = 4.24E10
d = 4.23e-10
  • 위 예제 에서 E와e는 어떤걸 사용해도 상관없음

8진수와 16 진수

  • 8(octal)진수 사용하려면 숫자가 0o으로 시작하면된다
  • 16(Hexadecimal)을 만들기 위해서는 0x로 시작하면된다
# Example

# Octal
a = 0o177

# Hexadecimal
a = 0x8ff
b = 0xABC

숫자형 연산자

사칙연산

  • 사칙연산 기호를 사용해 연산을 수행할 수 있음
# Example
a = 3
b = 4
c = a + b # 7
d = a * b # 12
e = a / b # 0.75

**연산자

  • x ** y 형식으로 사용했을 경우 x의 y제곱을 의미
# Example
a = 3
b = 4
c = a ** b # 81

% 연산자

  • 나눗셈 후 나머지를 반환하는 연산자
# Example
a = 7 % 3 # 1
b = 3 % 7 # 3

// 연산자

  • 나눗셈 후 몫을 반환하는 연산자
# Example
a = 7 // 4 # 1

2. 문자열 자료형

문자열이란

  • 문자, 단어 등으로 구성된 문자들의 집합을 의미
  • 대부분의 문자열은 "", '' 으로 둘려싸여 있음
# Example
A = "Life is too short, You need Python"
B = "a"
C = "123"

문자열의 생성방법

  • 총 4가지의 생성방법이 있음
# Example

# " "로 둘러싸기
a = "Hello World"

# ' ' 로 둘러싸기
b = 'Hello World'

# """ 큰따옴표 3개를 연속으로 써서 둘러싸기
c = """Life is too short"""

# ''' 작은 따옴표 3개를 연속으로 써서 둘러싸기= '''Life is too short'''

문자열 활용

문자열에 작은 따옴표 (')포함 시키는 방법

# Example
a = "Python's favorite food is perl"
  • 작은 따옴표(')를 문자열안에 포함 시키기 위해서는 전체 문자열을 큰따옴표(")로 둘러싸면됨

문자열에 큰 따옴표(") 포함시키기

# Example
a = '"Python is very easy." he says'
  • 문자열에서 큰따옴표를 사용하려면 전체 문자열을 작은 따옴표(')로 둘러싸면됨

백슬래시( \ )를 이용한 따옴표 분리시키기

# Example
a = 'Python\'s favorite food is perl'
b = "\"Python is very easy.\" he says"
  • 백슬래시를 따옴표 앞에 삽입하면 문자열에서 사용할 수 있음

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

# Example

# Life is too short
# You need Python

# 첫번째 방법
m = "Life is too short \n You need Python"

# 두번째 방법
m = ''' Life is too short
You nee Python
'''

m = """ Life is too short
You nee Python
"""
  • 첫번째 방법은 읽기 불편하고 줄이 길어지는 단점이 있음

  • 첫번째 방법의 단점을 극복하기 위해서 두번째 방법을 사용

  • 두번째 방법은 큰 따옴표(") 3개나 작은 따옴표(')3개로 문자열을 감싸는 형식


문자열 연산

  • 파이썬에서는 문자열을 더하거나 곱할 수 있음

문자열 더하기

  • 문자열을 연결하는 방법(Concatenation)
  • 문자열에서 + 연산을 사용하면 문자열이 서로 연결됨
#Example
h = "Hello "
t = "World!"
a = h + t # "Hello World!"

문자열 곱하기

  • 문자열에서 곱하기를 사용하면 곱한 수만큼 문자열을 반복
#Example
a = 'ab'
c = c * 3 # 'ababab'

문자열 길이 구하기

  • 문자열의 길이는 len()함수를 사용해서 구할 수 있음
  • len() 함수는 파이썬의 기본 내장함수
#Example
a = "Life is too short, You need Python"

print(len(a)) # 17

문자열 인덱싱과 슬라이싱

  • 인덱싱(Indexing)이란 무엇인가를 가리킨다는 의미
  • 슬라이싱(Slicing)이란 무엇인가를 잘라낸다는 의미

문자열 인덱싱

  • 문자열에서 인덱싱 하는 문자를 나타낼 수 있음
  • 인덱싱은 0부터시작
  • 인덱싱 하는 숫자가 -1이면 맨뒤 마지막 글자를 의미
#Example

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

print(a[3]) # e

print(a[-1]) # n

문자열 슬라이싱

  • 문자열에서 원하는 문자열을 추출하기 위한 방법
  • str[i:j] 형식으로 사용할 수 있음
  • 시작 번호 부터 끝번호 -1 까지의 문자열을 추출 즉 i번을 포함한 j개의 문자열을 추출
#Example
a = "Life is Smile"

print(a[0:4]) # Life

print(a[8:])  # Smile

print(a[5:-6]) # is
  • [8:]은 8번 부터 끝번호까지 추출

  • [:]은 처음부터 끝가지 추출

  • [5:-6]은 5부터 뒤에서 6번째 까지 추출 이므로 is를 출력

문자열 요소의 변경

  • 문자열 요소는 직접적으로 변경할 수 없으므로 슬라이싱을 이용
 #Examle
 
 a = "Pithon"
 
 a = a[0:1] + "y" + a[2:] # Python
 

문자열 포매팅

  • 문자열 안에 특정한 값을 바꿔야 할 경우 문자열 포매팅을 사용
  • 즉 문자열 안에 어떤 값을 삽입하는 방법

숫자 바로 대입

#Examle
print("I eat %d apples" % 3)
  • 문자열 안에 정수 3을 삽입하는 방법에 대한 예제
  • 문자열 안에 숫자를 넣고싶은 자리에 %d 문자를 넣어주고, 삽입할 숫자 3은 가장뒤에 % 뒤에 작성하면됨

문자열 바로 대입

#Examle
print("I eat %s apples." % "five") # I eat five apples.
  • 문자열 삽입을 하기위해서는 %s를 사용 나머지는 위에 숫자 바로대입과 동일

숫자 값을 나타내는 변수로 대입

#Examle
 
a = 3
print("I eat %d apples" % a)  # I eat 3 apples
  • 숫자 바로대입과 동일한 형식이지만 %뒤에 변수를 넣음

두개 이상의 값 넣기

#Examle
n = 3
str = "three"

print("I ate %d apples. so I was sick %s days"%(n,str)) 
# I ate 3 apples. so I was sicl three days
  • 2개 이상의 값을 넣으려면 마지막 % 뒤에 () 안에 ,로 구분하여 값을 넣으면됨

문자열 포맷 코드

코드설명
%s문자열
%c문자 1개
%d정수
%f부동 소수
%o8진수
%x16진수
%%Literal % (문자% 자체)

포맷 코드와 숫자 함께 사용하기

정렬과 공백
#Example
print("%10s"%"hi") # "        hi"
print("%-10s"%"hi") # "hi        "
  • $10s는 전체길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 나머지 공간은 공백으로 남겨두라는 의미

  • $-10s는 전체길이가 10개인 문자열 공간에서 대입되는 값을 왼쪽으로 정렬하고 나머지 공간은 공백으로 남겨두라는 의미

소수점 표현
#Example

print("%0.4f" % 3.42134234)
# 3.4213

print("10.4f" % 3.42134234)
#    3.4213
  • %0.4f는 소수점 네번째 자리까지만 나타내는 것을 말함

  • %10.4f는 전체 길이가 10개인 문자열에서 소수점 네째자리까지만을 오른쪽 정렬하는것을 의미


format 함수를 사용한 포매팅

  • 문자열의 format 함수를 사용하면 좀 더 발전된 스타일로 문자열 포맷을 지정할 수 있음
숫자 바로 대입하기
#Example
print("I eat {0} apples." .format(3))
# I eat 3 apples.
  • {0} 부분에 3이 들어감
문자열 바로 대입하기
#Example
print("I eat {0} apples." .format("five"))
# I eat five apples.
  • {0}에 five가 들어감
숫자 값을 가진 변수 대입
#Example
n = 3
print("I eat {0} apples." .format(n))
# I eat 3 apples.
  • {0}에 n의 값이 들어감
2개 이상의 값넣기
#Example
n = 10
d = "three"
print("I ate {0} apples. so i was sick {1} days." .format(n,d))
# I ate 3 apples. so i was sick for three days.
  • 2개 이상의 값을 넣을 경우 문자열의 {0},{1}이 각 상응하는 변수의 값이 들어감
이름으로 넣기
#Example
print("I ate {number} apples. so i was sick {day} days." .format(number = 10, day = 3))
# I ate 10 apples. so i was sick for 3 days.
인덱스와 이름 혼용해서 넣기
#Example
print("I ate {0} apples. so i was sick {day} days." .format(10, day = 3))
# I ate 10 apples. so i was sick for 3 days.
왼쪽 정렬
#Example
print("{0:<10}".format("hi"))
# "hi        "
  • :<10의 표현식은 치환되는 문자열을 왼쪽으로 정렬하고 문자열의 총 자릿수를 10으로 맞춤
오른쪽 정렬
#Example
print("{0:>10}".format("hi"))
# "        hi"
  • :>을 사용하면 문자열을 오른쪽으로 정렬하고 총 자릿수를 10으로 맞춤
가운데 정렬
#Example
print("{0:^10}".format("hi"))
# "    hi    "
  • :^를 사용하면 가운데 정렬 하는 방식
공백 채우기
#Example
print("{0:=^10}".format("hi"))
# "====hi===="

print("{0:!<10}".formate("hi"))
# "hi!!!!!!!!"
  • 공백 대신 문자를 지정할 수 있음
  • :뒤에 넣고 싶은 문자를 삽입하면됨
소수점 표현하기
#Exapmle
y = 3.42134234
print("0:0.4f".format(y))
# 3.4213

print("0:10.4f".format(y))
# '    3.4213'
  • 0:0.4f 소수점을 4자리까지만 표현하는 방법
  • 0:10.4f 자릿수를 10자리로 맞춤

f 문자열 포매팅

  • 파이썬 3.6버전부터 지원되는기능
  • 문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용할 수 있음
  • 위에서 실습한 예제에서 .format부분을 지우고 f접두사를 사용하면됨 또한 변수값을 참조해서 사용해야함
#Example
age = 30 

print(f'나는 내년이면 {age + 1}살이 된다.')
# 나는 내년이면 31살이 된다.

문자열 관련 함수

  • 파이썬에는 기본으로 내장되는 문자열 내장 함수가 있음

count 함수

  • 문자 개수를 카운팅 해주는 함수
#Example
a = "hobby"
print(a.count('b'))
# 2
  • 문자열 중 문자 b의 개수를 카운팅해줌

  • 사용하기위해선 문자열.count('찾고자하는 문자') 형식으로 사용할 수 있음

find 함수

  • 문자열중 내가 넣은 매개변수가 처음으로 나오는 위치를 반환해주는 함수
#Example
a = 'hobby'
print(a.find('b'))
# 2
  • b가 처음으로 나온 위치를 반환
  • 사용하기위해선 문자열.find('찾고자하는 문자')형식으로 사용할 수 있음
  • find함수는 찾고자하는 문자가 문자열안에 없다면 오류가 발생함

join 함수

  • 문자열을 삽입해주는 함수
#Example
print(",".join('abcd'))
# a,b,c,d
  • 문자열 각각의 문자 사이에 ','를 삽입

  • join함수는 문자열뿐만 아니라 앞으로 배울 리스트나 튜플도 입력으로 사용할 수 있음

upper 함수

  • 소문자를 대문자로 바꿔주는 함수
#Example
a = "hi"
a.upper()
# 'HI'
  • 문자열에서 모든 소문자를 대문자로 바꿔주는 함수

lower 함수

#Example
a = "HI"
a.lower()
# 'hi'
  • 문자열의 모든 대문자를 소문자로 바꿔주는 함수

lstrip 함수

  • 문자열중 가장 왼쪽에 있는 한칸 이상의 연속된 공백들을 모두 지워주는 함수
#Example
a = "  hi  "
a.lstrip()
# 'hi  '

rstrip 함수

  • 문자열중 가장 오른쪽에 있는 한칸 이상의 연속된 공백등을 모두 지워주는 함수
#Example
a = "  hi  "
a.rstrip()
# '  hi'

strip 함수

  • 문자열에서 양쪽 공백을 지워주는 함수
#Example
a = "  hi  "
a.strip()
# 'hi'

replace 함수

  • 문자열안의 특정한 값을 바꿔주는 함수
  • replace(바뀔 문자열, 바꾼 문자열) 형식으로 사용가능
#Example
a = "Hello World!"
a.replace("Hello", "Bye")
# Bye World!

split 함수

  • 문자열을 넣은 매개변수를 기준으로 나누어주는 함수
  • 기본값으로 공백이 들어가 있음, 매개변수를 넣어주면 매개변수를 기준으로 문자열을 나누어줌
#Example
a = "Hello World"
a.split()
# 'Hello', 'World'

b= "a:b:c:d"
b.split(':')
# 'a', 'b', 'c', 'd'
profile
Backend/ DevOps를 지망하는 곽희상입니다.

0개의 댓글