오랑우탄의 반란

파이썬 문자열/숫자열 기초 본문

PYTHON/개념정리

파이썬 문자열/숫자열 기초

5&2 2024. 7. 15. 21:20
반응형

 

파이썬 문자열과 숫자열 기초 문법을 살펴봅시다. 

 

1 문자열

1-1 문자열 연산

문자열은 기본적으로 + (더하기) 기호로 연결(concatination) 해줍니다. 

문자열에 숫자를 곱해서 반복시킬 수도 있습니다. 

a = "Hello"
b = "world"

print(a + b)
# "Helloworld"
    
print(a + " " + b)
# "Hello world"

print(a*2)
# "HelloHello"

 

1-2 문자열 인덱싱/슬라이싱

a = "Hello world"

a[0] = "H"
a[2:6] = "llo " #인덱스 2~(6-1) 까지
a[2:] = "llo world"
a[:6] = "Hello "
a[:] = "Hello world"
a[::-1] = "dlrow olleH" #역순

 

1-3 문자열 메소드

count

a = "Hello"
a.count('e') #문자열 중 특정 문자 개수 
# 1

 

find / rfind

  • 존재하지 않는 문자에 대해서는 -1 반환
a = "Hello"
a.find('l') #앞에서부터 특정 문자 인덱스값 찾기
# 2
a.rfind('l') #뒤에서부터 특정 문자 인덱스값 찾기
# 1
a.find('x') # 없는 문자는 -1 반환
# -1

 

index

  • find 와 다르게 존재하지 않는 문자에 대해서 오류 반환
a = "Hello"
a.index('e') # 특정 문자 인덱스값
# 1
a.index('x') # 존재하지 않는 문자에 대해서는 오류 발생 
ValueError: substring not found

 

join

  • 주어진 리스트, 튜플에 대해 공백 join 을 하면 해당 리스트, 튜플의 값들이 하나의 문자열로 연결됨
  • 특정 문자 기준으로 join 하면 해당 문자가 각각의 문자열 사이에 삽입됨 
list = ['a','b','c','d']
"".join(list) # 리스트의 개별 값 하나의 문자열로 합쳐줌
# "abcd"

",".join('abcd') # join 앞의 문자 기준으로 분리되어 연결됨 
# "a,b,c,d"

 

upper / lower

a = "hello"
a.upper() #대문자로 변환
# "HELLO"

a = "HElLo"
a.lower() #소문자로 변환
# "hello"

 

strip / lstrip / rstrip

a = "  Hello   "
a.strip() #양쪽 공백 제거
# "Hello"

a.lstrip() #왼쪽 공백 제거
# "Hello   "

a.rstrip() #오른쪽 공백 제거
# "  Hello"

 

replace

a = "Hello world from Python"
a.replace('Hello', 'Bye') #문자열 중 a를 b 로 변경
# "Bye world from Python"

 

split

a = "a+b+c"
a.split('+') #특정 문자 기준으로 나눠서 리스트로 반환
# ['a','b','c']

a = "Hello world"
a.split() #공백/탭/엔터 기준으로 나눠서 리스트로 반환
# ['Hello','world']

 

isalpha / isdigit

a = "Hello"
a.isalpha() #알파벳으로 구성된 건지 확인
# True

a.isdigit() #숫자로 구성된 건지 확인
# False

 


2 숫자열

2-1 숫자열 연산

a = 7
b = 2

a+b   # 9 
a-b   # 5
a*b   # 14
a/b   # 3.5
a//b  # 3 (몫)
a%b   # 1 (나머지)
a**b  # 49 (거듭제곱)

a += 3 # 10 (복합연산자)

 

2-2 숫자열 메소드

a = -3.5
b = 3
print(round(a)) # -4
print(abs(a)) # 3.5

 

3 문자열/숫자열 포멧팅

f 문자열 / format 함수 포메팅

 

기본

f'string {value}'

a = "Hello"
b = "world"
print(f'Python said {a} {b}')
# "Python said Hello world"

d = {'name':'오랑이', 'age':25}
f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.' #딕셔너리 사용 주의
# '나의 이름은 오랑이입니다. 나이는 25입니다.'

format(value, format)

 

정렬 및 공백 채우기

f'{"hi":<10}'  # 왼쪽 정렬, 숫자는 전체 출력 문자열 수
format('hi','<10')
# 'hi        '

f'{"hi":>10}'  # 오른쪽 정렬
format('hi','>10')
# '        hi'

f'{"hi":^10}'  # 가운데 정렬
format('hi','^10')
# '    hi    '

f'{"hi":!<10}' # ! 로 공백 채우기
format('hi','!<10')
# 'hi!!!!!!!!'

 

소수점 표현

f'{5/9:f}' # 실수로 표현
format(5/9, 'f')
# '0.555556'

f'{5/9:.4f}'  # 소수점 4자리까지만 표현
format(5/9, '.4f')
# '0.5556'

f'{y:10.4f}'  # 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춤
format(5/9, '10.4f')
# '    0.5556'

 

sep = '' / end = ''

print(4*3, 'cm', sep='') #데이터 연결 시 모든 공백 제거
# 12cm

print('This is ', end='') # 줄바꿈 제거
print('a single line')
# This is a single line

 

escape sequence

print('It\'s good') # 작은따옴표
# It's good

print('she said \"hello\"') # 큰따옴표
# she said "hello"

print('hello \t world') # 탭
# hello 	 world

print('This is \na new line') # 새로운 줄 생성
# This is 
# a new line

print('this is a backslash: \\') # 백슬래시
#this is a backslash: \

 

반응형

'PYTHON > 개념정리' 카테고리의 다른 글

[Python] 정규표현식, re모듈 사용 기초 정리  (0) 2024.08.07