Language/Python

[Python] 파이썬 기초, 문자열

gartenhh 2021. 8. 6. 15:19

연산자

** : 거듭제곱

// : 나눗셈 후 몫 반환

문자열

여러 줄의 문자열 이용

  1. \n 사용
  2. ''' 또는 """ 으로 감싸기

문자열 연산

문자열 더하기: 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 반환)