개념
문자열의 기본
예제1)
* 사용
Hello World에서 Hello World 2번 출력하기
예제2)
문자열끼리 연결
a = Hello, b = world로 선언한 후 두개의 변수를 합쳐 Hello world를 출력해라
1 2 3 | a = 'Hello ' b = 'world' print(a+b) | cs |
출력
Hello world
문자열 인덱싱
Hello My nick name is rednooby <-를 가지고 하겠습니다.
H | e | l | l | o |
| M | y |
| n | i | c | k |
| n | a | m | e |
| i | s |
| r | e | d | n | o | o | b | y |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
현재 문자열을 출력하면 이런식으로 문자열의 주소값이 나오게 됩니다.
Hello에서H = 0, e = 1, l = 2, l = 3, o = 4 를 가지게 되는것입니다.
이것을 가지고 여러가지 응용을 할수 있는데 아래 문제를 보면서 확인해 보겠습니다.
예제1)
문자열 인덱싱 확인해보기
위에 있는 Hello My nick name is rednooby 가 정말 0번~4번째까지 무엇이 들어가있는지 확인하기 위한 예제입니다.
1 2 3 4 5 6 7 | a = 'Hello My nick name is rednooby' print(a[0]) print(a[1]) print(a[2]) print(a[3]) print(a[4]) | cs |
출력
예제2)
H | e | l | l | o |
| M | y |
| n | i | c | k |
| n | a | m | e |
| i | s |
| r | e | d | n | o | o | b | y |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
1 2 3 4 5 6 7 8 9 10 | a = 'Hello My nick name is rednooby' print(a[-8]) print(a[-7]) print(a[-6]) print(a[-5]) print(a[-4]) print(a[-3]) print(a[-2]) print(a[-1]) | cs |
예제3)
앞에있는 Hello를 한줄로 출력해보시오
[a:b]를 통하여 a이상~b미만까지의 문자를 출력할 수 있습니다.
주의! a는 포함하여 이상이지만 b는 포함하지 않는 미만입니다.
H | e | l | l | o |
| M | y |
| n | i | c | k |
| n | a | m | e |
| i | s |
| r | e | d | n | o | o | b | y |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
1 2 3 | a = 'Hello My nick name is rednooby' print(a[0:5]) | cs |
예제4)
Hello부터 출력하여 보시오
H | e | l | l | o |
| M | y |
| n | i | c | k |
| n | a | m | e |
| i | s |
| r | e | d | n | o | o | b | y |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
1 2 3 4 5 | a = 'Hello My nick name is rednooby' print(a[0:]) print(a[:30]) print(a[:]) | cs |
예제5)
My name is rednooby를 출력하시오(Hello, nick 제외)
H | e | l | l | o |
| M | y |
| n | i | c | k |
| n | a | m | e |
| i | s |
| r | e | d | n | o | o | b | y |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
1 2 3 4 | a = 'Hello My nick name is rednooby' print(a[6:8],a[14:30]) print(a[6:9]+a[14:30]) | cs |
예제6)
rednooby를 chonooby로 바꿀수 있을까?
H | e | l | l | o |
| M | y |
| n | i | c | k |
| n | a | m | e |
| i | s |
| r | e | d | n | o | o | b | y |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
1 2 3 | a = 'Hello My nick name is rednooby' a[14:30]= 'chonooby' print(a[:]) | cs |
정답은 No 안됩니다.
왜 안되는걸까?
만약에 바꾸고 싶다면?
1 2 | a = 'Hello My nick name is rednooby' print(a.replace("rednooby","chonooby")) | cs |
replace를 통하여 (바꾸고싶은문자,바꿀문자)로 선언해주면 바꿀 수 있습니다.
출력
문자열 응용
예제1)
1 2 | a = 'Hello My nick name is rednooby' print(a.count('o')) | cs |
변수명.count('문자')
예제2)
1 2 | a = 'Hello My nick name is rednooby' print(a.find('o')) | cs |
예제3)
1 2 3 | a = 'Hello My nick name is rednooby' print(a.upper()) print(a.lower()) | cs |
예제4)
1 2 3 | a = 'Hello My nick name is rednooby' print(a.split()) print(a.split('o')) | cs |
출력
여기서 알수있는 사실
문자를 입력하면 문자를 기준으로 해당 문자를 제외하고 나누는 것을 확인하였습니다.
'파이썬 프로그래밍 > 파이썬 기초' 카테고리의 다른 글
[Python] 파이썬 List 리스트란? 리스트 예제 (0) | 2017.07.26 |
---|---|
[Python] 자료구조와 파이썬 자료구조 (0) | 2017.07.26 |
[Python] 파이썬 List Comprehension 예제와 기초 (0) | 2017.03.21 |
[Python] 파이썬 enumerate 기초 및 실습 예제 (0) | 2017.03.17 |
[Python] 파이썬 super 기초 개념 및 예제 (9) | 2017.03.16 |