-
Python's StringComputer Science/Basic Programming with Python 2021. 11. 8. 03:04
String
String은 문자, 숫자, 특수기호등으로 구성된 문자들의 집합인데, 쌍따옴표 또는 따옴표로 둘러싸서 만들 수 있다.
특수기호를 string에 사용할 때, 몇가지는 컴퓨터가 인식을 제대로 하지 못해서 escape를 해주어야하는데, 미국 컴퓨터에서는 \, 한국 컴퓨터에서는 원화표시(₩)로 사용된다.
Escape
Multiline String
여러줄에 걸친 string은, 쌍따옴표 세개 또는 따옴표 세개 안에 기재를 할 수 있다.
Operation
string끼리 더하면 string들이 합쳐지고, string에 곱하기를 사용하면 string이 반복된다.
Index and Slice
len() 이라는 함수를 이용하면 string의 길이를 알아낼 수 있다. 아래와 같은 문장의 길이를 다음과 같이 알아낼 수 있다.
총 길이는 30이다. 여기서 맨 첫번째 자리를 뜻하는 0를 대입해서 A[0]을 입력하면 L이라는 결과가 나온다. 만약 맨 뒤에서부터 세고싶으면 A[29] 또는 A[-1]등을 입력하면 된다.
이렇게 한 index씩 사용하는 기능도 있지만, string을 잘라서 쓰는 slicing이라는것도 있다. 아래와같이 조건에 맞게 잘라서 쓸 수 있다.
A[5:]: 5번째 자리부터 string 끝까지
A[:5]: 5번째 자리 전까지의 string
A[2:-2]: 2번째 자리부터 뒤에서 2번째 전까지의 string
Functions
string을 유용하게 쓸 수 있는 함수들이 있다. 아래 4가지 이외에도 많이 있지만, 많이 쓰는 네가지이다.
len(string): string의 길이를 반환
string1.startswith(string2): string1이 string2로 시작하는지 true or false
string1.endswith(string2): string1이 string2로 끝나는지 true or false
string1.find(string2): string1에 string2가 있는지 판단해서 시작하는 index를 반환하고, 없을경우 -1를 반환
그외에 이런 함수들도 많이 쓰인다: rfind, lstrip, rstrip, isalpha, isnumeric, isalnum, replace*, split*, upper*, lower*, join*
(별표친 함수는 특히 많이 쓰이는것들이다)
Formatting
똑같은 string형태인데 부분적으로만 다를 때, Formatting을 사용할 수 있다. format()이라는 함수를 이용하면 된다. {} 를 사용해서 공간을 비우거나, 어떤 데이터 형태인지 % 를 이용해서 정해두면 된다.
예를들면,
"It's {}AM".format(2)
이런식으로 하거나 또는,
"It's %dAM". %(2)
이런식으로 나타낼 수 있다. 2번째 방법일 경우, Type을 아래와같이 지정해줘야한다.
%d: integer
%s: string
%f: float
%o: octal (8진수)
%x: hex (16진수)
아래는 예시이다.
만약, 각각 어떤값을 줄지 이름을 주고싶다면, 괄호마다 어떤값이 들어가는지 애매하기 때문에 이렇게 많이 사용한다.
"It's {hour}:{min}{period}.".format(hour=2, min=39, period="AM")
Type Conversion
Python에는 여러가지 type이 존재한다. 그 type을 바꾸어줄 수 있는 함수들이 있는데 대표적으로 아래 세가지이다.
- int(): conversion to integer
- float(): conversion to float
- str(): conversion to string
'Computer Science > Basic Programming with Python' 카테고리의 다른 글
Python Dictionary (0) 2021.11.09 Python's Sequential Type (0) 2021.11.08 Python's Numbers (0) 2021.11.04 Python Basic (0) 2021.11.03 Python Basic and Installation (0) 2021.11.03