728x90
문자열 생성 방법
항목 | 예시 |
큰따옴표(" ") | "Hello" |
작은따옴표(' ') | 'Hello' |
큰따옴표 3개를 연속(""") | """Hello""" |
작은따옴표 3개를 연속(''') | '''Hello''' |
생성 방법 4가지 차이점
- 문자열 안에 작은따옴표(')나 큰따옴표(")를 넣는가?
- 줄바꿈을 넣는가?
문자열 안에 작은따옴표( ' ), 큰따옴표( " ), 둘다 넣는법
항목 | 방법 | 예시 |
작은따옴표( ' ) 넣는 법 | 큰따옴표(" ")로 문자열 감싸기 | "Hell'o" 결과 >>> Hell'o |
큰따옴표( " ) 넣는 법 | 작은따옴표(' ')로 문자열 감싸기 | 'Hell"o' 결과 >>> Hell"o |
둘다 넣는 법 | 백슬래시(\)를 넣을 작은(큰)따옴표 앞에 붙이기 | "Hell\"o" 결과 >>> Hell"o |
문자열 안에 여러줄 넣는 방법(줄바꿈 효과 넣는법)
방법 | 예시 |
\n 삽입하기 | "Apple is Red\nWant you?" 결과 >>> Apple is Red Want you? |
작은따옴표 3개( ''' ) | ''' Apple is Red Want you? ''' 결과 동일 |
큰따옴표 3개( """ ) | """ Apple is Red Want you? """ 결과 동일 |
문자열 사용법 및 정리
항목 | 방법 | 예시 |
문자열 더해서 연결하기 | 덧셈 기호 ( + ) 사용 | >>> a = "Apple" >>> b = " is Red" >>> a + b Apple is Red |
문자열 곱하기 | 곱셈 기호 ( * ) 사용 | >>> a = "Apple" >>> a * 3 AppleAppleApple |
문자열 길이 구하기 | len 함수 사용 | >>> a = "Apple" >>> len(a) 5 |
문자열 인덱싱 개념
인덱싱(indexing)이란 가리킨다라는 의미를 갖습니다.
>>> a = "Apple is Red, Want you?"
>>> a
Apple is Red, Want you?
보기 좋게
A p p l e i s R e d ,
0 1 2 3 4 5 6 7 8 9 10 11 12
-23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11
W a n t y o u ?
13 14 15 16 17 18 19 20 21 22
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
>>> a[0]
'A'
>>> a[5]
' ' // (빈공간, 스페이스바)
>>> a[22]
'?'
>>> a[-1]
'?'
>>> a[-23]
'A'
>>> a[-0]
'A'
>>> a[0] + a[1] + a[2] + a[3] + a[4]
'Apple'
>>> a[0:5] // a[시작번호 : 끝 번호 -1]
'Apple'
>>> a[6:10]
'is R'
>>> a[14:]
'Want you?'
>>> a[:12]
'Apple is Red'
>>> a[:] // 전체
'Apple is Red, Want you?'
>>> a[14:-5] // a[시작 번호 : 끝 번호 -1 ]
'Want'
문자열 포매팅 개념
포매팅이란 문자열 안에 특정 값을 삽입하는 방법이다.
예시)
"현재 습도는 70% 입니다."
"현재 습도는 88% 입니다."
이와 같이 문자열에서 숫자만 바꿔줘야 할 경우가 있죠.
>>> "I eat %d apples." % 4
'I eat 4 apples.'
>>> "I eat %s apples." % "two"
'I eat two apples.'
>>> num = 5
>>> "I eat %d apples." % num
'I eat 5 apples.'
2개 이상의 값 넣기
>>> num = 5
>>> day = "one"
>>> "I ate %d apples. so I was happy for %s days." % (num, day)
'I ate 5 apples. so I was happy for one days.
문자열 포맷 코드
코드 | 설명 |
%s | 문자열(string) |
%c | 문자 1개(character) |
%d | 정수 |
%f | 실수 |
%o | 8진수 |
%x | 16진수 |
%% | 리터럴 % ( 문자 '%' 자체 ) |
문자열 포캣 응용
>>> "%5s" % "hello"
' hello' // 공백 5개 후 hello
>>> "%-5sMr.Lee" % "hello"
'hello Mr.Lee' // 공백 위치가 반대쪽도 가능
>>> "%0.3f" % 3.148492
'3.148' // 실수 자릿수 설정
>>> "%10.3f" % 3.148492
' 3.148' // 전체 길이 : 10, 소수점은 3자리까지
format 함수를 사용한 포매팅
>>> "I eat {0} apples." .format(5)
'I eat 5 apples.'
>>> "I eat {0} apples." .format("five")
'I eat five apples.'
>>> num = 5
>>> "I eat {0} apples." .format(num)
'I eat 5 apples.'
#2개 이상의 값 넣기
>>> num = 5
>>> day = "five"
>>> "I ate {0} apples. so I was happy for {1} days." .format(num, day)
'I ate 5 apples. so I was happy for five days.
#이름으로 넣기
>>> I ate {num} apples. so I was happy for [day] days." .format(num=5, day = 3)
'I ate 5 apples. so I was happy for 3 days.'
#혼용하여 넣기
>>> "I ate {0} apples. so I was happy for {day} days." .format( 5, day = 3 )
'I ate 5 apples. so I was happy for 3 days.'
format 함수에서 정렬
항목 | 예시 |
왼쪽 정렬 | >>> "{0:<10}" .format("hello") 'hello ' |
오른쪽 정렬 | >>> "{0:>10}" .format("hello") ' hello' |
가운데 정렬 | >>> "{0:^10}" .format("hello") ' hello ' |
공백 채우기 | >>> "{0:@<10}" .format("hello") 'hello@@@@@' |
format 함수에서 소수점 표현
>>> y = 3.148492
>>> "{0:0.3f}".format(y)
'3.148'
>>> y = 3.148492
>>> "{0:10.3f}" .format(y)
' 3.148'
>>> "{{ and }}" .format()
'{ and }'
f 문자열 포매팅
python 3.6 버전부터 f 문자열 포매팅을 사용할 수 있습니다.
(python 3.6 미만 버전은 사용 불가)
>>> name = "홍길동"
>>> age = 25
>>> f'이름은 {name}이며, 나이는 {age}입니다.'
'이름은 홍길동이며, 나이는 25입니다.'
>>> age = 25
>>> f'지금은 {age}살이며, 작년엔 {age-1}살이였다.'
'지금은 25살이며, 작년엔 24살이였다.'
#딕셔너리 활용
>>> d = { 'name' : '홍길동', 'age' : 25 }
>>> f'이름은 {d["name"]}이며, 나이는 {d["age"]}입니다.'
'이름은 홍길동이며, 나이는 25입니다.'
#왼쪽 정렬
>>> f'{"hello":<10}'
'hello '
#오른쪽 정렬
>>> f'{"hello":>10}'
' hello'
#가운데 정렬
>>> f'{"hello":^10}'
' hello '
#공백 채우기
>>> f'{"hello":@<10}'
'hello@@@@@'
#소수점 표현
>>> y = 3.148492
>>> f'{y:0.3f}'
'3.148'
>>> f'{y:10.3f}'
' 3.148'
# {} 문자 표시
>>> f'{{ and }}'
'{ and }'
문자열 함수
>>> a = "Apple"
>>> a.count('p')
2
- 문자열 내 문자 개수 세기임으로 Apple 내의 p 의 개수 돌려줌
>>> a.find('p')
1
- 문자열 내 찾고자 하는 문자가 처음 나오는 위치를 반환. 없다면 -1 반환
>>> a.index('p')
1
- 문자열 내 찾고자 하는 문자가 처음 나오는 위치를 반환. 없다면 오류 발생. find와의 차이점.
>>> "1".join('abcd')
'a1b1c1d'
- abcd 각각 사이에 '@'를 삽입.
>>> "1".join(['a','b','c','d'])
'a1b1c1d'
- 리스트에서도 사용가능
>>> a.upper()
'APPLE'
- 소문자를 대문자로 바꿈
>>> a.lower()
'apple'
- 대문자를 소문자로 바꿈
>>> b = " hello "
>>> b.lstrip()
'hello '
- 왼쪽 공백 지우기(lstrip). l은 left 의미
>>> b.rstrip()
' hello'
- 오른쪽 공백 지우기(rstrip). r은 right 의미
>>> b.strip()
'hello'
- 양쪽 공백 지우기(strip)
>>> a.replace('p','O')
'Apple' -> 'AOOle'
- 문자열 바꾸기
>>> c = "Manners Maketh Man"
>>> c.split()
['Manners' , 'Maketh' , 'Man']
- 문자열 나누기(split). ()안에 아무 것도 넣지 않으면 공백을 기준으로 나눔.
>>> d = "q:w:e:r"
>>> d.split(':')
['q' , 'w' , 'e' , 'r']
- 문자열 나누기(split). ()안에 ':'을 기준으로 나눔.
728x90
'파이썬' 카테고리의 다른 글
[파이썬] 데이터 타입(Data Type) 종류 (0) | 2022.04.14 |
---|---|
[파이썬] 튜플(Tuple) 메소드 모음 (0) | 2022.04.14 |
[파이썬] 리스트 메소드 모음 (0) | 2022.04.12 |
[파이썬] 문자열 메소드 모음 (0) | 2022.04.11 |
[파이썬]파이썬 숫자형 (0) | 2022.03.31 |