안녕하세요.
이번 포스팅은 Python에서 문자열을 어떻게 논리적으로 적용할 수 있는지에 대한 설명이 있는 포스팅입니다.
1. 인용 부호를 이용한 Python에서의 문자열 정의
Python에서는 문자열을 정의할때 단일 인용 부호(작은 따옴표)나 이중 인용 부호(큰 따옴표)를 이용합니다. 하지만, 단일이나 이중 인용 부호에 따라서 다르게 처리하는 것은 아니고, 같은 결과를 도출하게 됩니다. 먼저, 아래의 예시를 보고 설명을 하도록 하겠습니다.
>>>'Element'
'Element'
>>>"Node"
'Node'
위에서 설명한 것과 같이 단일, 이중 인용 부호 둘 다 똑같은 결과를 도출하게 됩니다. 그럼 '이렇게 구분해서 왜 쓸까?'라는 의문이 생기게 됩니다. 그 이유는 단일 인용 부호 안에 이중 인용 부호를 넣어서 사용할 수 있게 하거나 혹은 그 반대의 과정을 거칠 수 있게 만들어 놓은 것입니다. 또한, 인용 부호를 3개 중복으로 사용하는 경우에는 여러줄의 문자열을 표현한는데 사용됩니다. 아래에 나와있는 것이 그것에 대한 예시입니다.
>>> a='''abcdefg,
... hijklmn,
... opqrstu,
... vwxyz'''
>>>
2. 이스케이프 문자열
다른 프로그램과 비슷하게 파이썬에서도 '\n'으로 줄바꿈을 할 수 있습니다.
'\'는 백슬레쉬라고 불리우며 일부의 문자를 다르게 해석하라는 명령어라고 생각하시면 이해하기 쉬울 것이라고 생각합니다. 또한, 위의 예시에서 인용 부호를 3개 중복으로 사용했을때의 줄바꿈을 할 수 있는 것을 대체할 수 있는 하나의 방법이라고 생각하시면 될 것 같습니다.
>>> a='abcdefg,\n hijklmn, \n opqrstu, \n vwxyz'
>>> print(a)
abcdefg,
hijklmn,
opqrstu,
vwxyz
위에서 적용한 예시와 같이 이스케이프 문자열과 n이라는 것을 이용하여 줄바꿈을 쉽게 할 수 있습니다. 또한, '\t' 는 Tab을 대신해서 사용할 수 있는 명령어입니다. 그래서 위의 '\n'의 명령어 대신에 '\t'가 적용이 된다면 아래와 같은 결과를 도출할 수 있게 됩니다.
>>> a='abcdefg,\t hijklmn, \t opqrstu, \t vwxyz'
>>> print(a)
abcdefg, hijklmn, opqrstu, vwxyz
3. 문자열의 결합, 복제, 추출하는 방법
문자열의 결합은 '+'라는 연산자를 통해 적용될 수 있습니다. 수학적으로 더하기를 생각하시면 더 편하실 것 같은데, 수치적으로 더하는 부분은 없기에 문자열 이어 붙이기라고 생각하시면 이해하기 쉬울 것이라고 생각합니다. 또한, 복제도 마찬가지입니다. 복제라는 것은 같은 것을 반복해서 붙인다고 생각하시면 되기에 '*'의 연산자를 사용해서 문자열을 복사를 합니다.
>>> 'I am ' + 'a boy!'
I am a boy!
>>> a= 'Hello! ' * 2
>>> b= 'My Friend! ' * 2
>>> print(a+b)
Hello! Hello! My Friend! My Friend!
결합과 복사의 연산자인 '+'와 '*'을 통해서 위의 예시와 같이 적용할 수 있습니다.
마지막으로 추출하는 방법입니다. 하나의 변수가 다량의 문자열을 포함하고 있는 경우에 문자 하나하나가 배열형태로 들어가있다고 생각한다면, 하나씩 뽑는 일은 어려운 일이 아닙니다. 그래서, 다량의 문자열이 하나의 변수에 들어가 있다면 각 각의 문자열은 번호를 가지고 있다고 생각하면 될 것입니다. 예를 들어 'a'라는 변수에 'abc'라는 문자열을 넣었다고 생각하면, a는 0번째 배열, b는 1번째, c는 2번째라고 표현할 수 있습니다. 역으로 c는 -1번째, b는 -2번째로 표현할 수 있습니다.
>>> a='abc'
>>> a[0]
'a'
>>> a[1]
'b'
>>> a[-1]
'c'
>>> a[-2]
'b'
위의 추출 방법의 예시를 보시면 더 이해하기가 쉬울 것이라고 생각합니다.
Python 관련 포스팅은 여기서 마치고, 내일 슬라이스, append, join, split에 대한 포스팅을 다루도록 하겠습니다.
'Program > Python' 카테고리의 다른 글
[Python] Anaconda를 이용한 Jupyter notebook 실행 (1) | 2017.07.14 |
---|---|
[Python] Anaconda 설치 하기 (0) | 2017.07.03 |
Python 문자열 명령어 적용 방법 02 (0) | 2017.04.20 |
Python int 함수 (1) | 2017.04.17 |
Python 기초 (Object와 Class) (0) | 2017.04.15 |
댓글