문자열은 Python의 기본 데이터 유형 중 하나입니다. Python 문자열은 문자, 숫자 및 기타 특수 문자로 구성된 임의의 수의 문자 조합입니다. 이 튜토리얼에서는 다양한 시나리오에서 사용할 수 있도록 생성, 조작 및 형식을 지정하는 방법을 배웁니다.
파이썬에서 새 문자열 만들기
새 Python 문자열을 생성하려면 작은따옴표나 큰따옴표로 묶인 일련의 문자를 선언하기만 하면 됩니다. 삼중따옴표는 여러 줄의 문자열에도 사용됩니다.
double_quotes = "My name is John!"
single_quotes = 'My name is John!'
multi_line_string = '''1. My name is John!
2. I am a programmer'''
문자열 인덱싱
Python 문자열의 모든 문자에는 정수 인덱스가 있습니다. 인덱싱은 첫 번째 문자에서 0부터 시작하여 문자열을 따라 증가합니다. 다음 예와 같이 개별 문자의 인덱스를 사용하여 문자열에서 해당 문자를 검색할 수 있습니다.
myPet = "Dog not a cat"
myPet[0] # 'D'
myPet[5] # 'o'
myPet[7] # ' '
myPet[12] # 't'
# myPet[15] # IndexError
최종 문자의 색인을 넘어서는 문자에 액세스하려고 하면 IndexError가 발생합니다. .
음수 인덱스를 사용하여 문자열의 문자에 액세스할 수 있습니다. 이 경우 인덱싱은 문자열의 마지막 문자에서 -1부터 시작하여 뒤로 갈수록 음수 증가합니다.
myPet = "Dog not a cat"
myPet[-1] # 't'
myPet[-6] # ' '
myPet[-8] # 'o'
myPet[-13] # 'D'
문자열 슬라이싱
슬라이싱은 문자열에서 부분 문자열(문자열의 일부)을 추출하는 방법입니다. 이 작업은 문자열 인덱싱의 도움으로 수행됩니다.
myPet = "Dog not a cat"
myPet[5:7] # 'ot'
myPet[1:12] # 'og not a ca'
여기서 두 개의 인덱스는 콜론으로 구분되어 제공되며 첫 번째 인덱스는 슬라이싱을 시작할 위치를 나타내고 두 번째 인덱스는 중지할 위치를 나타냅니다. 결과 하위 문자열에는 시작 인덱스에서 끝 인덱스 이전 문자까지의 문자가 포함되며 끝 인덱스의 문자는 하위 문자열에 포함되지 않습니다.
시작 인덱스를 제공하지 않으면 문자열의 첫 번째 문자에서 슬라이싱이 시작됩니다. 끝 인덱스를 제공하지 않으면 결과 하위 문자열에 포함하면서 마지막 문자에서 슬라이싱이 종료됩니다.
myPet = "Dog not a cat"
myPet[:7] # 'Dog not'
myPet[10:] # 'cat'
myPet[:] # 'Dog not a cat'
슬라이싱 인덱스와 마찬가지로 음수 인덱스도 제공할 수 있습니다.
myPet = "Dog not a cat"
myPet[10:-1] # 'ca'
문자열 길이
내장 파이썬 메소드 len()
문자열의 길이를 출력합니다.
myPet = "Dog not a cat"
len(myPet) # 13
문자열 반복
for
를 사용하여 문자열의 각 문자를 반복할 수 있습니다. 루프.
예:
name = "John"
for char in name:
print(char)
# 'J', 'o', 'h', 'n'
문자열 연결
문자열 연결은 두 개 이상의 문자열을 결합하여 단일 문자열을 만드는 것입니다. 파이썬에는 문자열을 연결하는 몇 가지 방법이 있습니다.
하나는 +
를 사용하는 것입니다. 연산자.
str1 = 'Hello'
str2 = 'World'
concat_str = str1 + str2 # 'HelloWorld'
concat_str = str1 + ' ' + str2 # 'Hello World'
*
를 사용할 수 있습니다. 여러 번 문자열을 자체에 연결하는 연산자입니다.
concat_str = str1*3 # 'HelloHelloHello'
문자열을 연결하는 또 다른 방법은 join()
을 사용하는 것입니다. 방법.
내장 join()
메소드는 공통 구분 기호를 사용하여 문자열 배열을 연결하는 데 사용됩니다.
arr = [str1, str2]
concat_str = (' ').join(arr) # 'Hello World'
concat_str = (',').join(arr) # 'Hello,World'
위의 코드에서 첫 번째 join()
메소드는 배열의 모든 단어 사이에 공백을 추가합니다.
두 번째 join()
메소드는 배열의 모든 단어 사이에 쉼표를 삽입합니다.
문자열 및 정수 연결
Python에서는 문자열을 정수로 연결할 수도 있지만 +
로는 연결할 수 없습니다. 운영자. 다음 코드를 사용하려고 하면:
name = "John"
age = 35
print(a + b)
우리는 다음을 얻을 것입니다:
Traceback (most recent call last):
File "concat.py", line 5, in <module>
print(a + b)
TypeError: can only concatenate str (not "int") to str
참고:+
를 사용하여 문자열과 정수를 연결할 수 없습니다. 운영자.
이 오류를 피하기 위해 str()
를 사용할 수 있습니다. 정수를 문자열로 변환하는 메소드, 예:
name = "John "
age = "35"
print(a + str(b)) #John 35
문자열 분할 방법
내장 split()
메서드는 단일 문자열을 문자열 배열로 분할하는 데 사용됩니다.
string = "My name is John"
split_arr = string.split(' ') # ['My', 'name', 'is', 'John']
We can also split a string using a separator:
string = "John, Rose, Jack, Mary"
split_arr = string.split(', ') # ['John', 'Rose', 'Jack', 'Mary']
스트립 - 공백 제거
strip()
, 내장된 문자열 메소드는 문자열의 시작과 끝에서 공백을 제거하는 데 사용됩니다.
string = " Hello, World "
stripper_str = string.strip() # 'Hello, World'
보시다시피 strip()
다른 문자 사이에 있는 공백은 제거하지 않고 양쪽 끝에만 있습니다.
strip()
에는 두 가지 변형이 있습니다. 방법, 왼쪽 스트립 및 오른쪽 스트립:
lstrip()
rstrip()
이 메서드는 문자열의 왼쪽과 오른쪽에 있는 공백을 각각 제거합니다.
예:
lsplit_str = string.lstrip() # 'Hello, World '
rsplit_str = string.rstrip() # ' Hello, World'
스트립 방법은 사용자가 추가 공백을 전달할 수 있는 사용자 입력을 읽을 때 특히 유용합니다.
문자열 서식 지정
파이썬의 format()
메서드는 문자열을 형식화하는 데 사용됩니다. 중괄호 {}
format()
에 제공된 인수로 대체되어야 하는 부분에 대한 자리 표시자로 형식을 지정해야 하는 문자열 내부에서 사용됩니다. 방법.
예:
"Hello, {}".format('John') # 'Hello, John'
위의 예시 {}
에서 형식화된 문자열에서 'John'으로 대체됩니다.
문자열 안에 둘 이상의 중괄호를 사용하여 서식을 지정할 수 있습니다. format()
에 제공된 인수로 대체됩니다. 제공된 순서(중괄호 안에 위치 인덱스가 언급되지 않은 경우) 또는 위치 순서로 메서드를 지정합니다.
예:
"I have a {}, {}, and a {}".format('dog', 'cat', 'rabbit') # 'I have a dog, cat, and a rabbit'
"I have a {1}, {0}, and a {2}".format('dog', 'cat', 'rabbit') # 'I have a cat, dog, and a rabbit'
인덱스를 사용하는 대신 format()
에 키워드 인수를 제공할 수 있습니다. 중괄호 안에 키워드를 사용할 수 있도록 메서드를 지정합니다.
예:
print("{friend} is my friend and {enemy} is my enemy".format(friend="John", enemy="Jack"))
# 'John is my friend and Jack is my enemy'
format()
이 방법은 많은 사용 사례에 사용할 수 있으므로 매우 다재다능합니다.
다음은 format()
의 다른 응용 프로그램입니다. 방법:
arr = [3, 5]
'I have {0[0]} dogs and {0[1]} cats'.format(arr)
# 'I have 3 dogs and 4 cats'
#convert numbers to different bases
"int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42)
# 'int: 42; hex: 2a; oct: 52; bin: 101010'
문자열을 소문자로 변환
파이썬의 lower()
사용하기 메서드를 사용하여 문자열을 소문자로 변환할 수 있습니다.
예:
string = "Hello, World!"
string.lower() # 'hello, world!'
문자열을 대문자로 변환
마찬가지로 Python의 upper()
를 사용하여 메서드를 사용하여 문자열을 대문자로 변환할 수 있습니다.
예:
string = "Hello, World!"
string.upper() # 'HELLO, WORLD!'
결론
이 튜토리얼의 도움으로 이제 파이썬 문자열과 문자열 연산에 다양한 방법을 사용하는 방법에 익숙해지길 바랍니다.
참조:Python의 문자열 문서