문자열(string) : 문자의 나열
모든 프로그래밍 언어는 문자만 나열해놓으면 식별자로 인식한다.
문자를 변수로 저장하려면 따옴표를 사용하여 문자데이터임을 명시해야한다.
따옴표는 큰 따옴표나 작은 따옴표 둘 다 가능하다.
str_1 = 'abc'
print(str_1)
따옴표를 세 번 입력하여 print문으로 사용하면 줄바꿈그대로 결과값으로 출력된다.
print("""삼따옴표를
사용하면
줄바꿈이 그대로
출력됩니다.""")
- 결합연산
문자열과 문자열을 더하기/곱하기 연산이 가능하다.
# 문자열 더하기
print("문자열1" + "문자열2")
결과값
문자열1문자열2
print("hello" +"python")
first = "hello"
second = "python"
cont = first + second # cont에는 두 문자열이 결합된 1개의 문자열이 저장
print(cont)
결과값
hellopython
hellopython
# 문자열 곱하기
곱하는 수 만큼 문자열을 반복하여 하나의 문자열을 생성한다.
string = "파이썬"
result = string * 3
print(result)
결과값
파이썬파이썬파이썬
- 문자열 인덱싱(indexing)
인덱스로 문자의 위치를 나타내는것, 0부터 시작, 공백도 문자에 포함
string[0] : 첫번째 문자
string[-1] : 마지막 문자
string = "example"
print(string[0])
print(string[-1])
결과값
e
e
- 슬라이싱(slicing)
문자열 중에서 일부분을 복사해서 참조하는 것, 원본 문자열 중 일부를 복사하여 변환
문자열 원본 변수는 변경할 수 없다.
string[start index : stopindex + 1]
string[:] # 문자열 전체
string[-1:] # 마지막 문자
string[:-1] # 첫문자 ~ 마지막 전 문자까지
string = "example"
print(string[0:4])
print(string[4:7])
결과값
exam
ple
* 파이썬이 처리하는 모든 자료는 class로 되어 있다.
int(integer) 정수
float 실수
str(string) 문자열
bool(boolean) True/False
print(type()) 형식으로 class 확인 가능
- in / not in 연산자
문자열 안에 특정 문자열이 포함되어 있는지 여부를 true / false로 반환
대소문자를 구분한다.
string = "Python String Example"
print("Python" in string)
print("example" in string)
결과값
True
False
print("String" not in string)
print("example" not in string)
결과값
False
True
if "Python" in string :
print("있음")
else :
print("없음")
결과값
있음
if "Python" not in string :
print("없음")
else :
print("있음")
결과값
있음
* list로도 사용 가능, list의 원소로 존재하는지 확인하여 true/false 반환
exam = ["kor", "eng", "math"]
print ("kor" in exam)
결과값
True
- 문자열 관련 메소드(함수)
# len() : 문자열(변수)의 길이 반환 (파이썬이 기본제공)
print(len(객체변수)) # 객체변수를 선언 후 print
# count() : 문자열 내에 들어 있는 특정문자(열)의 개수 반환해주는 메소드
메서드 사용법 : 객체변수.메소드명(인수)
print(객체변수.count("특정문자")) # 객체변수를 선언 후 print
print(문자열.count("특정문자"))
# find() : 문자열 내에 특정문자(열)의 위치를 찾아주는 메소드
찾는 문자열이 없을 경우 -1을 반환
in연산자와 비슷하게 사용가능
print(객체변수.find("특정문자")) # 객체변수를 선언 후 print
# index() : 문자열 내에 특정문자(열)의 위치를 찾아주는 메소드
찾는 문자열이 없을 경우 에러 발생 : ValueError: substring not found
print(객체변수.index("특정문자")) # 객체변수를 선언 후 print
# split() : 구분자를 기준으로 문자열을 나누어 리스트로 반환해주는 메소드
구분자 : 기본은 공백 (지정가능 : "-", ":", ",", ...)
객체변수b = 객체변수a.split("구분자")
print(객체변수b)
# replace() : 전체 문자열에서 특정 문자열을 찾아 다른 문자열로 변경하는 메소드
원본을 변경시키지 않는다.
전체문자열.replace("찾는 문자열","변경할 문자열")
찾는 문자열이 존재하지 않는 경우 원래 문자열 반환
# join() : 각 문자 사이에 특정 문자(열) 삽입
변수 = "특정 문자(열)"
print(변수.join("문자열"))
join의 대상이 list일 수 있다.
a = "aa"
print(a.join("bbb"))
결과값
baabaab
# strip : 공백제거
원본을 변경시키지 않는다.
객체변수.strip() # 양쪽 공백 제거
lstrip() : 왼쪽 공백 제거
rstrip() : 오른쪽 공백 제거
# isalpha() : 문자 여부 결과 반환 (True, False)
# isdigit() : 숫자 여부 결과 반환 (True, False)
# isspace() : 하나의 문자에 대해 공백 여부 결과 반환 (True, False)
# isalnum() : 문자 또는 숫자 여부 결과 반환 (True, False)
'Language > Python 기초' 카테고리의 다른 글
프로그래머스 코테 배열의 유사도 - set 집합 함수 (0) | 2022.12.07 |
---|---|
[Python] 연산자 /와 //차이 (0) | 2022.12.07 |
Python 02_제어문 (0) | 2022.06.29 |
Python 01_ 변수 (0) | 2022.06.27 |