RL Researcher

06. 문자열(String) 본문

AI Basic/Python Programming

06. 문자열(String)

Lass_os 2020. 12. 25. 15:38

1. 문자열(Str)


  • String은 글자의 Unicode 코드로 이루어진 불변한 순서있는 집합입니다.

  • "" (쌍 따옴표), '' (작은 따옴표) 모두 사용가능합니다.

print("쌍따옴표 문자열")
print('작은따옴표 문자열')

========================================================================

<output>
쌍따옴표 문자열
작은따옴표 문자열

아래의 코드와 같이 ' (작은따옴표), " (큰 따옴표)를 혼용하게 되면 에러가 발생합니다.

print("혼용하면 에러발생')

========================================================================

<output>
File "<stdin>", line 1
  "혼용하면 에러발생'
             ^
SyntaxError: EOL while scanning string literal

2. 멀티라인 입력


  • 여러 문자를 입력할 때는 """ 큰따옴표 3개나, ''' 작은 따옴표 3개를 입력합니다.

  • \n으로 표시되는 부분이 newline문자로 열을 바꿔주는 문자입니다.

print(""" 이것은
멀티라인
입력입니다.""")

3. 변환


  • int, float -> str 변환

print(str(396))
print(str(5.52))
print(str(6.02e10))
print(str(6.02e20))

========================================================================

<output>
'396'
'5.52'
'60200000000.0'
'6.02e+20'

4. 컬렉션 접근


  • String도 List와 같은 Collection처럼 접근할 수 있습니다.

  • [문자열인덱스 숫자] 형식으로 접근이 가능합니다.

s = 'abcdef'
print(s[3])

========================================================================

<output>
'd'

5. String 여러가지 메소드


  • 문자열을 type함수를 실행해보면 아래의 코드와 같이 나옵니다.

type("문자열")

========================================================================

<output>
<class 'str'>
  • help 함수로 str에서 다양하게 활용할 수 있는 메소드들 리스트를 볼 수 있습니다.

print(help(str))
  • join : 문자열을 합치는데 사용합니다. 구분자가 앞에서 사용되어집니다.

print(','.join(['a','b','cde']))

========================================================================

<output>
'a,b,cde'
  • split : join과 반대입니다. 문자열을 구분자로 나누어 리스트로 반환합니다.

print('a,b,cde'.split(','))

========================================================================

<output>
['a', 'b', 'cde']
  • partition : 구분자로 나누어 tuple형으로 반환합니다.

departure, _, arrival = "Seattle-Seoul".partition('-')
print(departure)
print(_)
print(arrival)

========================================================================

<output>
'Seattle'
'-'
'Seoul'
  • format : 문자를 다양한 형태로 포맷팅하는데 사용합니다.

print("Name: {}, Age: {}".format("Lee", 13))
print("Name: {0}, Age: {1}".format("Kim", 15))
print("Name: {0}, Age: {1}: {0}의 나이가 {1}".format("Park", 17))

========================================================================

<output>
'Name: Lee, Age: 13'
'Name: Kim, Age: 15'
'Name: Park, Age: 17: Park의 나이가 17'

아래 예제는 키워드 형으로 format을 사용하는 예제입니다.

print("Name: {name}, Age: {age}: {name}의 나이가 {age}".format(age=19, name='Lee'))

========================================================================

<output>
'Name: Lee, Age: 19: Lee의 나이가 19'

6. 문자열 함수


  • Capitalize() : 첫 글자를 문자 나머지 문자들을 소문자로 변환합니다.

a = "abcDef"
print(a.capitalize())
print(a)

========================================================================

<output>
'Abcdef'
'abcDef'

위의 결과처럼 capitalize()함수는 복사본을 가져와서 변경하는 것입니다.

  • Strip() : 문자열의 좌우 공백을 제거해줍니다.

s = "  abc   "
print(s.strip())
print(s)

========================================================================

<output>
'abc'
'  abc   '

 위의 결과처럼 strip()함수 역시 복사본을 가져와서 변경 후 출력합니다.

  • len() : String함수는 아니며, 일반 내장함수입니다. 문자열의 길이나 컬렉션형의 길이를 출력할 수 있습니다.

print(len("abcd12345abcdefg"))

========================================================================

<output>
16
Comments