강의노트 문자열

강의노트 • 조회수 1312 • 댓글 0 • 수정 8개월 전  
  • 기본
  • 파이썬 개요

문자열

파이썬에서는 문자열을 표현할 때 단일 인용부호(Quotation Marks)(' ')나 이중 인용부호(" ") 둘 다 사용 가능하다.

s1 = 'Hello, world!'
s2 = "I'm a programmer."
s3 = '''Programming is fun.
I enjoy coding in Python.'''

위 코드에서 s1은 단일 인용부호로 문자열을 표현하였고, s2는 이중 인용부호로 문자열을 표현하였다. s3은 세 개의 인용부호를 사용하여 여러 줄의 문자열을 표현하였다.

여러 줄의 문자열을 단일 인용부호나 이중 인용부호로 나타내려면, 이스케이프 문자()를 사용하여 줄 바꿈을 나타내야 한다. 또는, Triple-quoted string을 사용할 수 있다.

함수 설명 함수 설명
upper() 대문자 lower() 소문자
swapcase() 대 소문자 바꿈 title() 제목타입으로
count() 찾을값의 개수 find() 찾을 값의 위치를 반환
rfind() 찾을 값을 오른쪽부터 검색 index() 찾을값의 인덱스
rindex() 찾을값을 오른쪽부터 찾음 startswith() 찾을값으로 시작하는가?
endswith() 찾을값으로 끝나는가? strip() 알파벳이전의 공백을 없앰
rstrip() 오른쪽 공백을 없앰 lstrip() 왼쪽 공백을 없앰
replace() S1을 S2로 바꿈 split() S로 나눔
splitlines() 줄 단위로 나눔 join() 구분자로 리스트를 연결
center() n캐릭터에서 중앙으로 정렬 ljust() n캐릭터에서 왼쪽으로 정렬
rjust() n캐릭터에서 오른쪽으로 정렬 zfill() n캐릭터에서 앞을 0을 채움
isdigit() 0~9의 숫자인가? isalpha() 알파벳인가?
isalnum() 숫자와 알파벳인가? islower() 소문자인가?
isupper() 대문자인가? isspace() 공백인가?

예 s.index(찾을값) s.rindex(찾을값) | s.startswith(찾을값) | s.endswith(찾을값) | s.strip() | s.rstrip( ) | s.lstrip() | s.replace(S1,S2) | s.split(S) | s.splitlines( ) | 구분자.join(리스트) | s.center(n) | s.ljust(n) | s.rjust(n) | s.zfill(n) | s.isdigit( ) | s.isalpha( ) | s.isalnum() | s.islower( ) | s.isupper() | s.isspace() |

a = 1234
b = '1234'
type(a)
type(b)
c = str(a)
b + c
'ab123'*3
# import this
s = ''' The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.'''

s.upper()
s.lower()
s.swapcase()
s.title()
s.count('like')
s.find('Python')     #Python이 시작하는 인덱스를 돌려줌
s.rfind('Python')
s.index('is')
s.rindex('is')
s.startswith('The')
s.endswith('those!')
s.strip()
s.rstrip()
s.lstrip()
s.replace('like','love')
s.split() # split(' ')
s.splitlines()
a = s.split(' ')
'%'.join(a)
s.center(900)
s.ljust(900)
s.rjust(900)
s.zfill(900)
s.isdigit()
s.isalpha()
s.isalnum()
s.islower()
s.isupper()
s.isspace()

문자열 연산자

파이썬에서 문자열 연산자는 '+'와 '' 두개이다. '+' 연산자는 두 개의 문자열을 이어 붙여서 새로운 문자열을 만든다. 예를 들어, 'abc'와 'def'라는 두 개의 문자열을 '+' 연산자로 이어 붙이면 'abcdef'라는 새로운 문자열이 만들어진다.

'*' 연산자는 문자열을 반복한다. 예를 들어, 'ab1'이라는 문자열을 '' 연산자로 3번 반복시키면 'ab1ab1ab1'이라는 문자열이 만들어진다.

escape문자

연산 수식
\n 줄바꿈
\t
\ \ 문자 ''
\ ' 단일 인용부호 (')
\ " 이중 인용부호 (")
\0 NULL문자
s1 = "A군이 말했다. \' 파이썬은 재밋다.\' "
print(s1)
s2 = "\' I like \t python \n programming "
print(s2)

indexing & slicing

문자열에서 특정 문자 또는 문자열의 위치를 찾는다. 문자열의 인덱스는 0부터 시작하며, 첫 번째 문자의 인덱스는 0이다. 예를 들어, "Hello"라는 문자열에서 "H"는 0번 인덱스, "e"는 1번 인덱스, "l"은 2번과 3번 인덱스, "o"는 4번 인덱스에 위치한다. 따라서 문자열에서 특정 문자 또는 문자열의 위치를 찾아내기 위해서는 해당 문자 또는 문자열의 인덱스 값을 알아야 한다. 이를 이용하여 원하는 부분의 문자열을 슬라이싱할 수 있다. 또한, 문자열이 두 줄 이상일 경우 세 개의 따옴표(''' 혹은 """ )로 표현한다.

0 1 2 3 4 5 6 7 8 9 10 11 12 13
-14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
I L O V E P Y T H O N !
X = 'I LOVE PYTHON'
X[0]
X[-14]
X[5]
X[-9]
X[13]
X[-1]
X[2:6] #[시작 : 끝+1]
X[0:6]
X[:6]
X[7:14]
X[7:]
X[-7:-1] 
X[-7:]
X[: : 3] # [시작 : 끝+1 : 간격 ]
X[2:10:2]
name = '이송근'
hello = '안녕'
print(name+'님 '+hello)

a = '파이썬'
b = '쉽다'
c = (a+b)*3
print(c)

a = '파이썬'
b = '쉽다'
c = (a+b)*3
print(c)
print('문자열의 길이는 : ',len(c))
a = input('숫자를 입력하세요:')
b = input('숫자를 입력하세요: ')
print('첫 번째 입력 숫자 : %s' %a)
print('두 번째 입력 숫자 : %s' %b)
print('두 수의 합은 : %f' %(float(a) + float(b)))
이전 글
다음 글
댓글
댓글로 소통하세요.