웹사이트 검색

Python 3의 문자열 함수 소개


소개

Python에는 문자열 데이터 유형과 관련된 여러 내장 함수가 있습니다. 이러한 함수를 사용하면 문자열을 쉽게 수정하고 조작할 수 있습니다. 함수는 코드 요소에 대해 수행하는 작업이라고 생각할 수 있습니다. 내장 함수는 Python 프로그래밍 언어로 정의되어 있고 쉽게 사용할 수 있는 함수입니다.

이 자습서에서는 Python 3에서 문자열 작업에 사용할 수 있는 여러 가지 함수를 살펴보겠습니다.

전제 조건

컴퓨터나 서버에 Python 3가 설치되어 있고 프로그래밍 환경이 설정되어 있어야 합니다. 프로그래밍 환경이 설정되지 않은 경우 운영 체제(Ubuntu, CentOS, Debian 등)에 적합한 서버의 프로그래밍 환경에 대한 설치 및 설정 가이드를 참조할 수 있습니다.

문자열을 대문자와 소문자로 만들기

str.upper()str.lower() 함수는 원래 문자열의 모든 문자가 대문자 또는 소문자로 변환된 문자열을 반환합니다. 문자열은 변경할 수 없는 데이터 유형이므로 반환되는 문자열은 새 문자열이 됩니다. 문자가 아닌 문자열의 모든 문자는 변경되지 않습니다.

문자열 Sammy Shark를 모두 대문자로 변환해 보겠습니다.

정보: 이 자습서의 예제 코드를 따라하려면 python3 명령을 실행하여 로컬 시스템에서 Python 대화형 셸을 엽니다. 그런 다음 >>> 프롬프트 뒤에 추가하여 예제를 복사, 붙여넣기 또는 편집할 수 있습니다.

ss = "Sammy Shark"
print(ss.upper())
Output
SAMMY SHARK

이제 문자열을 모두 소문자로 변환해 보겠습니다.

print(ss.lower())
Output
sammy shark

str.upper()str.lower() 함수를 사용하면 전체적으로 대소문자를 일관되게 만들어 문자열을 더 쉽게 평가하고 비교할 수 있습니다. 그런 식으로 사용자가 자신의 이름을 모두 소문자로 작성하더라도 예를 들어 모두 대문자 버전과 비교하여 이름을 확인하여 데이터베이스에 이름이 있는지 여부를 계속 확인할 수 있습니다.

부울 메서드

Python에는 부울 값으로 평가되는 몇 가지 문자열 메서드가 있습니다. 이러한 방법은 예를 들어 사용자가 입력할 양식을 만들 때 유용합니다. 우편 번호를 묻는 경우 숫자 문자열만 허용하고 이름을 묻는 경우 알파벳 문자열만 허용하려고 합니다.

부울 값을 반환하는 여러 문자열 메서드가 있습니다.

Method True if
str.isalnum() String consists of only alphanumeric characters (no symbols)
str.isalpha() String consists of only alphabetic characters (no symbols)
str.islower() String’s alphabetic characters are all lower case
str.isnumeric() String consists of only numeric characters
str.isspace() String consists of only whitespace characters
str.istitle() String is in title case
str.isupper() String’s alphabetic characters are all upper case

다음 몇 가지를 실제로 검토해 보겠습니다.

number = "5"
letters = "abcdef"

print(number.isnumeric())
print(letters.isnumeric())
Output
True False

5 문자열에 str.isnumeric() 메서드를 사용하면 True 값이 반환되고 문자열에 동일한 메서드를 사용하면 abcdefFalse 값을 반환합니다.

마찬가지로 문자열의 알파벳 문자가 제목인지 대문자인지 소문자인지 쿼리할 수 있습니다. 몇 가지 문자열을 만들어 봅시다:

movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"

이제 대소문자를 확인하는 부울 메서드를 사용해 보겠습니다.

print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())

이제 이러한 작은 프로그램을 실행하고 다음 출력을 받을 수 있습니다.

Output of movie string
False True
Output of book string
True False
Output of poem string
False True

문자가 소문자, 대문자 또는 제목 케이스인지 확인하면 데이터를 적절하게 정렬하는 데 도움이 될 뿐만 아니라 필요에 따라 문자열을 확인하고 수정하여 수집한 데이터를 표준화할 수 있습니다.

부울 문자열 메서드는 사용자가 입력한 내용이 주어진 매개 변수에 맞는지 확인하려는 경우에 유용합니다.

문자열 길이 결정

문자열 함수 len()은 문자열의 문자 수를 반환합니다. 이 방법은 예를 들어 최소 또는 최대 암호 길이를 적용해야 하거나 약어로 사용하기 위해 특정 제한 내에서 더 큰 문자열을 잘라야 하는 경우에 유용합니다.

이 방법을 시연하기 위해 문장 길이 문자열의 길이를 찾습니다.

open_source = "Sammy contributes to open source."
print(len(open_source))
Output
33

open_source 변수를 \Sammy가 오픈 소스에 기여합니다.\ 문자열과 동일하게 설정한 다음 해당 변수를 len() 함수에 전달했습니다. len(open_source)로. 그런 다음 메서드를 print() 메서드에 전달하여 프로그램에서 화면에 출력을 생성할 수 있도록 했습니다.

문자, 숫자, 공백 문자 및 기호를 포함하여 작은따옴표 또는 큰따옴표로 묶인 모든 문자는 len() 함수에 의해 계산됩니다.

join(), split() 및 replace() 메서드

str.join(), str.split()str.replace() 메서드는 문자열을 조작하는 몇 가지 추가 방법입니다. 파이썬.

str.join() 메서드는 두 문자열을 연결하지만 한 문자열을 다른 문자열로 전달하는 방식으로 연결합니다.

문자열을 만들어 봅시다:

balloon = "Sammy has a balloon."

이제 str.join() 메서드를 사용하여 해당 문자열에 공백을 추가해 보겠습니다. 다음과 같이 할 수 있습니다.

" ".join(balloon)

이것을 출력하면:

print(" ".join(balloon))

반환된 새 문자열에서 첫 번째 문자열 전체에 공백이 추가되었음을 알 수 있습니다.

Output
S a m m y h a s a b a l l o o n .

str.join() 메서드를 사용하여 원래 문자열에서 반전된 문자열을 반환할 수도 있습니다.

print("".join(reversed(balloon)))
Output
.noollab a sah ymmaS

우리는 첫 번째 문자열에 다른 문자열의 어떤 부분도 추가하고 싶지 않았기 때문에 사이에 공백 없이 따옴표를 계속 맞붙였습니다.

str.join() 메서드는 문자열 목록을 새로운 단일 문자열로 결합하는 데에도 유용합니다.

문자열 목록에서 쉼표로 구분된 문자열을 만들어 보겠습니다.

print(",".join(["sharks", "crustaceans", "plankton"]))
Output
sharks,crustaceans,plankton

새 문자열의 문자열 값 사이에 쉼표와 공백을 추가하려면 쉼표 뒤에 공백을 사용하여 식을 다시 작성할 수 있습니다. \, \.join([\sharks\, \crustaceans\, \plankton ]).

문자열을 결합할 수 있는 것처럼 문자열을 분할할 수도 있습니다. 이를 위해 str.split() 메서드를 사용합니다.

print(balloon.split())
Output
['Sammy', 'has', 'a', 'balloon.']

str.split() 메서드는 다른 매개변수가 지정되지 않은 경우 공백으로 구분되는 문자열 목록을 반환합니다.

str.split()을 사용하여 원래 문자열의 특정 부분을 제거할 수도 있습니다. 예를 들어 문자열에서 문자 a를 제거해 보겠습니다.

print(balloon.split("a"))
Output
['S', 'mmy h', 's ', ' b', 'lloon.']

이제 문자 a가 제거되었고 문자 a의 각 인스턴스가 있던 위치에서 문자열이 분리되었으며 공백이 유지되었습니다.

str.replace() 메서드는 원래 문자열을 가져와 일부 대체된 업데이트된 문자열을 반환할 수 있습니다.

Sammy가 가지고 있던 풍선을 잃어버렸다고 가정해 봅시다. Sammy는 더 이상 이 풍선을 가지고 있지 않으므로 하위 문자열 \has\를 원래 문자열 balloon에서 새 문자열의 \has\로 변경합니다. :

print(balloon.replace("has","had"))

괄호 안의 첫 번째 하위 문자열은 우리가 바꾸려는 항목이고 두 번째 하위 문자열은 첫 번째 하위 문자열을 바꾸려는 항목입니다. 출력 결과는 다음과 같습니다.

Output
Sammy had a balloon.

문자열 메서드 str.join(), str.split()str.replace()를 사용하면 다음을 더 잘 제어할 수 있습니다. Python에서 문자열을 조작합니다.

결론

이 자습서에서는 Python 프로그램에서 문자열을 사용하고 조작하는 데 사용할 수 있는 문자열 데이터 유형에 대한 몇 가지 일반적인 기본 제공 방법을 살펴보았습니다.

"Python 3에서 텍스트 형식을 지정하는 방법\에서 다른 데이터 유형에 대해 자세히 알아볼 수 있습니다.