본문 바로가기
python

string

by csue 2021. 4. 27.

String : 문자열

" 더블 쿼터 or ' 싱글 쿼터 로 묶어서 표현하며, 안에 있는 값을 바꿀 수 없다 immutable.

>>> my_str = "sue"
>>> print(my_str)
sue

 

# 큰따옴표 3개를 쓰게 되면 여러줄로 나눌 수 있다 = \n

>>> my_str = """최
수
아
"""

>>> my_str
'최\n수\n아'

더하거나 곱하기도 가능하다.

>>> a = 'sue'
>>> a + a
'suesue'
>>> a * 3
'suesuesue'

Formatting

%연산자

%s : 문자열을 대입할 때 사용
%d : 정수형 숫자를 대입할 때 사용
%f : 실수형 숫자를 대입할 때 사용

>>> my_str = 'My name is %s' % 'sue'
>>> my_str = 'My name is sue'

 

>>> '%d %d' % (1, 2)
'1, 2'

 

>>> '%f' % 3.14
'3.140000'

'{ }'.format( )

%연산자보다 python스러운 메소드

>>> 'My name is {}'.format('sue')
'My name is sue'

>>> '{} * {} = {}'.format(2, 3, 2*3)
'2 * 3 = 6'

 

# 인덱스를 이용해서 순서를 지정할 수 있다.
>>> '{1} * {0} = {2}'.format(2, 3, 2*3)
'3 * 2 = 6'

Indexing

0부터 사용, 띄어쓰기 포함.

>>> my_name = "sue의 velog"

>>> my_name[0]
's'
>>> my_name[3]
'의'
>>> my_name[4]
' '

 

# reverse. 제일 마지막을 -1로 본다.
>>> my_name[-1]
'g'
>>> my_name[-5]
'v'

Slicing

[인덱스:인덱스] 의 구조로, 앞에 숫자가 없으면 처음부터 그 숫자까지, 뒤에 숫자가 없으면 숫자부터 끝까지, 숫자가 하나도 없으면 처음부터 끝까지 가져온다.

>>> my_name
'sue의 velog'

>>> my_name[5:7]
've'
>>> my_name[:4]
'sue의'
>>> my_name[2:]
'e의 velog'
>>> my_name[:]
'sue의 velog'

string.split( )

문자열을 공백 단위로 잘라주는 함수

>>> my_name
'sue의 velog'
>>> my_name.split()
['sue의', 'velog']

>>> job_str = '개발자 의사 교사 간호사'
>>> jobs = job_str.split()
>>> jobs
['개발자', '의사', '교사', '간호사']

string.strip()

문자열의 앞 뒤 공백을 제거하는 함수

str.lstrip() = 왼쪽 공백을 제거한다
str.rstrip() = 오른쪽 공백을 제거한다.

string.count()

문자열에서 특정 문자열을 찾아 해당 문자의 개수를 반환하는 함수

>>> a = 'Hello'
>>> a.count('l')
2

대문자 / 소문자 변환

str.upper() # 문자열 대문자로 변경하는 함수
str.lower() # 문자열 소문자로 변경하는 함수
str.isupper() # 문자가 대문자인지 확인하는 함수
str.islower() # 문자가 소문자인지 확인하는 함수

>>> a = 'Hello'
>>> a[3].upper()
'L'
>>> a[0].isupper()
True
>>> a[2].isupper()
False

Docstring

큰 따옴표 세 개를 이용해서 주석을 다는 것을 의미한다.

"""이렇게 사용할 경우 함수에 영향을 미치지 않는다"""

"""줄바꿈으로도
사용이
가능하다
"""

end=' '

출력의 끝을 지정하는 함수.

>>> print('sue의')
sue의
>>> print('sue의', end='velog')
sue의velog

Escape code

특정한 기능을 수행하는 문자의 조합.
문자열안에 이 코드를 넣으면 특정한 기능을 수행하게 된다.

\n : 엔터
\t : tap

>>> print('sue의\nvelog')
sue의
velog
>>> print('sue의\tvelog')
sue의    velog

string concatenation

2개 혹은 그 이상의 str 을 잇는 것 concat 을 의미한다.

concatenation 에는 여러 방법이 있다.

위 링크를 기반으로 하는 가장 효율적인 방법에 대한 논의도 있다. join 과 comprehension 을 이용한 방법이 가장 빠르다고 한다.

>>> a = 'Hello'
>>> b = ' tistory'

# naive appending
>>> a + b
'Hello tistory'

# using join method
>>> "".join([a, b])
'Hello tistory'

# using % operator
>>> ("%s %s" % (a, b))
'Hello tistory'

# using format() function
>>> "{}{}".format(a, b)
'Hello tistory'

literal string interpolation

  1. 먼저 따옴표 앞에 f 를 붙여야 한다. f 를 붙이면 python 은 f 다음에 오는 str 값을 literal string interpolation 이라고 인지하고 str 안의 변수들을 실제 값으로 치환한다.
  2. 치환하고 싶은 변수나 함수를 중괄호를 사용하여 표시한다.
>>> middle_name = "Sooa"
>>> first_name = "Choi"

>>> print(f"my name is {middle_name}. my first name is {first_name}.")
my name is Sooa. my first name is Choi.

'python' 카테고리의 다른 글

dictionary  (0) 2021.04.27
list  (0) 2021.04.27
if & while  (0) 2021.04.27
기타 함수와 연산자  (0) 2021.04.27
python  (0) 2021.04.27