[Python] 파이썬 기초, 문자열
연산자
**
: 거듭제곱
//
: 나눗셈 후 몫 반환
문자열
여러 줄의 문자열 이용
\n
사용'''
또는"""
으로 감싸기
문자열 연산
문자열 더하기: string1 + string2
문자열 곱하기: string * 2
문자열 길이 구하기 len(string)
문자열 indexing & slicing
indexing : 0부터 차례로 이뤄짐, 음수 이용하면 뒤에서부터 n번째 문자 가리킴
slicing : string[startNum : endNum]
=> 첫 번째 인덱스의 단어 ~ (두 번째 - 1) 인덱스의 단어까지 뽑아낸다
시작 번호 생략하면 자동으로 0부터 시작 / 끝 번호 생략하면 자동으로 끝까지 추출
문자열 formatting
(포맷 코드 포함한 문자열) % (대입할 값)
"I am %d yeard old" % 222
format 함수 이용한 formatting
1. 그냥 대입하기{0}자리에 대입된다
"string1 {0} stirng2".format(대입할 값)
2. 여러 개 대입하기(인덱스 이용)순서대로 {0}, {1}자리에 대입된다.
"string1 {0} string2 {1} string3".format(대입값1, 대입값2)
3. 이름으로 넣기{num}자리에 num이름의 대입값, {var}자리에 var 이름의 대입 값이 대입된다
"string1 {num} string2 {var} string3".format(num = 대입값, var = 대입값)
=> 인덱스와 이름 혼용 가능
4. 왼쪽 정렬문자열을 10 자리로 맞추고 왼쪽 정렬으로 대입 문자열 대입
"{0:<10}".format(대입 문자열)
5. 오른쪽 정렬문자열을 10 자리로 맞추고 왼쪽 정렬으로 대입 문자열 대입
"{0:>10}".format(대입 문자열)
6. 가운데 정렬
"{0:^10}".format(대입 문자열)
7. 공백 채우기위의 예시에서는 모든 공백이 '='으로 채워진다.
"{0:=^10}".format(string) "{0:=<10}".format(string)
8. 소수점 표현하기
"{0:0.5f}".format(num)
9. {, } 표현하기
"{{ }}".format()
f 문자열 포매팅(3.6부터 가능)
var1 = "안녕하세요"var2 = 3f{"var1 : {var1}\nvar2: {var2}"}
{var1}자리에 var1 변수의 값이, {var2} 자리에 var2 변수의 값이 들어간다.
f{"string":<10}f{"string":!>10}f{"string":=^10}
위와 같이 정렬과 공백 채우기도 가능하다.
소수점 표현하기, { }
표현하기도 포매팅 함수처럼 하면 됨
문자열 관련 함수들
문자 개수 세기 : count()
a = "mississipi"a.count('s')
문자열 중 특정 문자의 개수 return
위치 알려주기 : find()
, index()
a = "Where is q?"a.find('q')a.index('q')
문자열에서 특정 문자가 맨 처음으로 나온 위치를 반환한다.
문자나 문자열이 존재하지 않는다면 find()
는 -1을 리턴하고, index()
는 오류를 만든다
문자열 삽입 : join()
",".join('abcde')
각 문자 사이에 ','을 삽입한다.
대소문자 바꾸기 : upper()
, lower()
#대문자로 바꾸기string.upper()#소문자로 바꾸기string.lower()
공백 지우기
#왼쪽 공백 지우기string.lstrip()#오른쪽 공백 지우기string.rstrip()#양쪽 공백 지우기string.strip()
문자열 바꾸기 : replace()
a = "red blue yellow purple orange"a.replace("yellow", "gold")
문자열 나누기: split()
a = "This is a string"
split() 괄호 안에 아무것도 넣지 않으면 공백을 기준으로 문자열을 나눈다.
괄호 안에 특정한 값을 넣어주면 그 값을 기준으로 문자열을 나눈다.
나눈 값은 리스트에 들어간다
startswith()
, endswith()
"This is a string".startswith("This")
어떤 문자열이 특정 부분문자열로 시작하는지/ 끝나는지 확인(True/False 반환)