문자열이란?
- 따옴표(큰따옴표, 작은따옴표 등)로 감싸져서 표현된 문자, 단어들의 묶음
- 큰 따옴표 3개, 작은 따옴표 3개도 가능
"blue"
"123"
lies = "영기쌤 잘생겼어요"
"""ㄹㅇ"""
'''ㅋㅋ'''하지만 모든 경우에 문자 자체를 그대로 출력 할 수 있는 것은 아닙니다.
<ul>
<li>따옴표 안에 같은 종류의 따옴표를 사용한 경우</li>
<li>이스케이프 시퀸스(Escapep sequence)를 사용한 경우</li>
<li>문자열 포매팅을 한 경우</li>
</ul>
<!--(왜 이렇게 해놨냐구요? 저번에 웹 수행평가 본 게 뇌에 박혀서요;;)-->
에는 특별하게 인식됩니다.
문자열에 " 나 ' 를 넣고 싶은 경우 \" 나 \' 를 사용하거나, 원하는 문장 내에 " " 나 ' ' 를 삽입하면 됩니다.
+ 문자열 내에서 Enter를 사용하려는 경우 """ (Enter)원하는 문구 (Enter)"""형태로 기입 가능합니다.
str = "리퍼는 "뭐든"가능합니다."
str1 = """
리퍼님,
제가 하나하나 거절하기 힘드니까,
파티 신청 넣지 말랬져?
"""
print(str, str1)
--> 리퍼는 "뭐든"가능합니다. 리퍼님,
제가 하나하나 거절하기 힘드니까,
파티 신청 넣지 말랬져?
이스케이프 시퀸스란 무엇일까요?
- 문자열에서 표현하기 어려운 특정 문자를 백 슬래쉬(\)로 표현하는 것.
이전에 설명한 느낌이 들지만 아마 문장에 넣을 수 있는 상황과 예시는 말 안 한 것 같아 다시 설명하겠습니다.
| \n | 문자열 안에서 줄을 바꿀 때 사용 |
| \t | 문자열 사이에 탭 간격을 줄 때 사용 |
| \\ | 문자 \를 그대로 표현할 때 사용 |
| \' | 작은따옴표(')를 그대로 표현할 때 사용 |
| \" | 큰따옴표(")를 그대로 표현할 때 사용 |
| \r | 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동) |
| \f | 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동) |
| \a | 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다) |
| \b | 백 스페이스 |
| \000 | 널 문자 |
이스케이프 시퀸스의 종류이며 해당 코드들은 원하는 문자열 어디에든 넣어줘도 상관 없습니다.
str = "오늘은 왠지\n파이썬 공부가 하고 싶어지는 날인걸?"같이요.
그렇다면 모든 곳에서 쓰였던 + 라던가 *은 사용할 수 없을까요?
아닙니다.
참 똑똑하죠? 파이썬 만든사람?
각각 + 는 앞과 뒷 문자열을 이어주는 역할을 하며(띄어쓰기 없음),
*는 해당 문자열을 몇 번 출력할 것인지를 알려주는 역할을 합니다.( *3이면 3번)
str = "나는"
str1 = "파이썬이 좋다"
print(str + str) --> 나는파이썬이 좋다.
print(str*1, str*2) --> 나는 파이썬이 좋다파이썬이 좋다
인덱싱과 슬라이싱
인덱싱이란 문자열에 포함된 각 문자에 대해 순차적으로 번호를 매기는 것입니다.
라고 쓰여는 있는데.... 이렇게만 보면 어렵죠?
간단한 예시와 함께 봅시다.
a = "Computer security"
b = a[0] + a[9]
print(b) --> C s(공백도 하나의 인덱스로 처리)C언어의 배열처럼 만들 수 있는 것을 보실 수 있습니다.
파이썬과 C언어 모두 첫 번째 문자열의 인덱스값은 0이며, 공백도 하나의 인덱스로 처리합니다.
외에도 a[-2]따위의 문법도 존재하는데 이는 뒤에서부터 수를 세어 주시면 됩니다.(단 뒤에서는 a[-1]부터 시작하며 a[-0]은 a[0]의 값과 동일합니다.
슬라이싱이란단어 그대로 지정 범위만큼 데이터 요소를 잘라내는 기능을 합니다.
이번에는 말이 굉장히 쉽죠?
라고 생각하신다면 이미 어떻게 작동하시는지 알고 계신게 분명합니다.
a = "Sunrin security"
b = a[0:5]
print(b) --> Sunri처럼 처음 지정한 범위부터 ~까지 의 문법으로 통일되는데 맨 처음과 맨 끝을 말하고 싶다 하시면 공백으로 비워놔도 상관 없습니다. 이 역시 인덱싱의 영역으로 -로 출력이 가능합니다.
a = "Sunrin security"
b = a[0:-5]
print(b) --> Sunrin sec