Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 문자열 - 기본 문자열 작업 개요

문자열은 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의 문자열 문서