오랑우탄의 반란
파이썬 문자열/숫자열 기초 본문
반응형
파이썬 문자열과 숫자열 기초 문법을 살펴봅시다.
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 |
---|