문자열 - 문자, 단어등으로 구성된 문자들의 집합


문자열 만드는 방법 4가지


1) 쌍따옴표로 둘러싸기 ""

print("안녕하세요")


2) 홑따옴표로 둘러싸기 ''

print('안녕하세요')

3) 쌍따옴표 3개로 둘러싸기 """ """ ( 줄을 바꾸어 사용할 수 있다.)

pirnt("""안녕하세요""")

4) 홑따옴표 3개로 둘러싸기 ''' '''  ( 줄을 바꾸어 사용할 수 있다.)

print('''안녕하세요''')


문자열 안에 특수문자 또는 따옴표를 넣고 싶다면 백슬래쉬\를 앞에 붙이면 된다.




줄바꿈은 \n < 을 사용하면 된다.


문자열은 연산을 할 수 있는데 더하기 곱하기만 가능하다. 

문자열과 다른 데이터 타입을 더할 수 없다. ex) "Number"+123 X

문자열과 문자열을 곱할 수 없다. ex)print("hello" * "hi") X


더하기를 할 경우 문자열을 이어준다.



정수와 곱하기연산을 할 경우 그 문자열은 정수만큼 반복한다.



문자열 인덱싱 - 문자열 안의 요소를 가리키는 것 ,컴퓨터는 숫자를 0부터 센다. 역순(-)도 가능하다.



name이라는 변수에 문자열을 입력하여 문자열 안의 요소를 출력하였다. 0부터 세기 때문에 0은 'g' 1은 'o' 

문자열 슬라이싱 - 문자열안의 요소를 잘라내는 것 슬라이싱을 하더라도 원본은 그대로 유지가 된다.

[시작값:종료값-1]

[시작값이상:종료값미만]



len은 문자열의 길이를 알려준다. [0:6]은 0이상 6미만 이기 때문에 'Python'이 출력되고 name[10:0]은 10이상 전부 다 이기 때문에 fun!이 출력된다.


문자열 안에는 다양한 기능의 함수들이 탑재되어 있다. 이 함수들은 문자열 자료형 안에 들어있고, 이들을 문자열 메소드라고 부른다.


 a = 'hello' 로 초기화를 시켜둔다.


join() - 문자열 사이사이 마다 입력한 값을 넣어준다.




find() - 문자열 안에 매게변수로 입력한 문자열이 존재하는지 앞에서부터 찾는다. 존재하지 않으면 -1을 출력



rfind() - 문자열 안에 매게변수로 입력한 문자열이 존재하는지 뒤에서부터 찾는다. 존재하지 않으면 -1을 출력



count() - 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 센다.



lstrip() - 문자열 왼쪽에 있는 공백을 제거한다.



rstrip() - 문자열 오른쪽에 있는 공백을 제거한다.



strip() - 문자열 양쪽에 있는 공백을 제거한다.



isalpha() - 문자열이 숫자와 기호를 제외한 알파벳(영문,한글)로만 이루어져 있는지 평가한다.



isnumeric() - 문자열이 수로만 이루어져 있는지 평가한다.



isalnum() - 문자열이 알파벳과 수로만 이루어져 있는지 평가한다.



replace() - 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경한다.


split() - 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만든다.


upper() - 문자열을 모두 대문자로 바꾼 문자열을 내놓는다.


lower() - 문자열을 모두 소문자로 바꾼 문자열을 내놓는다.


format() - 형식을 갖춘 문자열을 만들 때 사용한다. 문자열 안에 중괄호{} 로 다른 데이터가 들어갈 자리를 만들어 두고 format()함수를 호출할 때, 이 자리에 들어갈 데이터를 순서대로 넣어주면 원하는 형식의 문자열을 만들 수 있다. 

밑의 4번째 라인처럼 키워드와 혼합하여 넣을 수 있다. 이 때, 인덱스와 키워드를 혼용 시 키워드를 제일 뒤에 넣어야 한다.
 

format은 c언어에서처럼 %d (정수형) %f(실수형) %s(문자열) 형식으로도 가능하다.









'programming > Python' 카테고리의 다른 글

Python // 튜플(tuple)  (0) 2017.11.22
Python // 리스트(list)  (0) 2017.11.21
Python // 비교(bool), 숫자형  (0) 2017.11.19
Python // 연산자  (0) 2017.11.19
Python // 기본문  (0) 2017.11.19

+ Recent posts