Python 에서 문자열의 특정 길이 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 문자열의 특정 길이를 확인하는 방법을 배우게 됩니다. 여기에는 문자열 길이 이해와 공백 및 특수 문자를 포함하여 문자열의 문자 수를 결정하기 위해 len() 함수를 활용하는 것이 포함됩니다.

먼저 미리 정의된 문자열의 길이를 찾는 Python 스크립트를 생성한 다음, 스크립트를 수정하여 사용자 입력을 받아 입력된 문자열의 길이를 계산합니다. 마지막으로, 문자열의 길이를 원하는 길이와 비교하여 특정 요구 사항과 일치하는지 확인하는 방법을 배우게 됩니다.

문자열 길이 이해

이 단계에서는 Python 에서 문자열의 길이를 결정하는 방법을 배우게 됩니다. 문자열 길이를 이해하는 것은 프로그래밍의 기본 개념이며, 이를 통해 텍스트 데이터를 효과적으로 조작하고 처리할 수 있습니다.

Python 에서 len() 함수는 문자열의 길이를 찾는 데 사용됩니다. 문자열의 길이는 공백과 특수 문자를 포함하여 문자열에 포함된 문자 수입니다.

간단한 예시부터 시작해 보겠습니다. VS Code 편집기를 사용하여 ~/project 디렉토리에 string_length.py라는 새 파일을 생성합니다.

## filename: string_length.py
string1 = "Hello, LabEx!"
length1 = len(string1)
print("The length of the string 'Hello, LabEx!' is:", length1)

string2 = "This is a longer string."
length2 = len(string2)
print("The length of the string 'This is a longer string.' is:", length2)

string3 = ""  ## Empty string
length3 = len(string3)
print("The length of the empty string is:", length3)

파일을 저장한 다음 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

python ~/project/string_length.py

다음과 같은 출력을 볼 수 있습니다.

The length of the string 'Hello, LabEx!' is: 13
The length of the string 'This is a longer string.' is: 24
The length of the empty string is: 0

보시다시피 len() 함수는 각 문자열의 문자 수를 반환합니다. 빈 문자열의 길이는 0 입니다.

이제 사용자 입력을 사용하여 다른 예시를 시도해 보겠습니다. string_length.py 파일을 다음과 같이 수정합니다.

## filename: string_length.py
user_string = input("Enter a string: ")
length = len(user_string)
print("The length of the string you entered is:", length)

파일을 저장하고 다시 실행합니다.

python ~/project/string_length.py

스크립트는 문자열을 입력하라는 메시지를 표시합니다. 아무 문자열이나 입력하고 Enter 키를 누릅니다. 예를 들어:

Enter a string: Python is fun!

출력은 다음과 같습니다.

The length of the string you entered is: 14

이것은 len() 함수를 사용하여 사용자가 제공한 문자열의 길이를 결정하는 방법을 보여줍니다.

len() 함수 사용

이 단계에서는 len() 함수를 다양한 시나리오에 적용하여 이해도를 높입니다. 다양한 데이터 유형과 함께 사용하는 방법과 특수 문자와 공백에서의 동작 방식을 배우게 됩니다.

먼저, len()이 특수 문자와 공백이 있는 문자열을 어떻게 처리하는지 살펴보겠습니다. ~/project 디렉토리의 string_length.py 파일을 수정하여 다음을 포함합니다.

## filename: string_length.py
string1 = "  Hello, LabEx!  "  ## String with leading and trailing spaces
length1 = len(string1)
print("The length of the string with spaces is:", length1)

string2 = "你好,LabEx!"  ## String with Unicode characters
length2 = len(string2)
print("The length of the string with Unicode characters is:", length2)

string3 = "Line1\nLine2"  ## String with a newline character
length3 = len(string3)
print("The length of the string with a newline is:", length3)

파일을 저장하고 실행합니다.

python ~/project/string_length.py

다음과 같은 출력을 볼 수 있습니다.

The length of the string with spaces is: 17
The length of the string with Unicode characters is: 9
The length of the string with a newline is: 11

string1의 앞뒤 공백이 길이에 포함되어 있음을 알 수 있습니다. 또한 string2의 유니코드 문자는 각각 하나의 문자로 계산됩니다. string3의 줄 바꿈 문자 \n도 하나의 문자로 계산됩니다.

이제 다른 문자열 메서드와 함께 len()을 사용하는 방법을 살펴보겠습니다. 예를 들어, 공백을 제거한 후 문자열이 비어 있는지 확인하는 데 사용할 수 있습니다. string_length.py 파일을 다음과 같이 수정합니다.

## filename: string_length.py
user_string = input("Enter a string: ")
stripped_string = user_string.strip()  ## Remove leading/trailing whitespace
length = len(stripped_string)

if length == 0:
    print("The string is empty after removing whitespace.")
else:
    print("The length of the string after removing whitespace is:", length)

파일을 저장하고 실행합니다.

python ~/project/string_length.py

앞뒤 공백이 있는 문자열을 입력합니다.

Enter a string:   Hello

출력은 다음과 같습니다.

The length of the string after removing whitespace is: 5

공백만 입력하면 출력은 다음과 같습니다.

Enter a string:
The string is empty after removing whitespace.

이 예제는 len() 함수를 strip() 메서드와 결합하여 더 복잡한 문자열 작업을 수행하는 방법을 보여줍니다. strip() 메서드는 문자열에서 앞뒤 공백을 제거합니다.

원하는 길이와 비교

이 단계에서는 문자열의 길이를 원하는 길이와 비교하는 방법을 배우게 됩니다. 이는 프로그래밍에서 흔히 사용되는 작업이며, 특히 사용자 입력을 검증하거나 특정 길이 요구 사항을 준수해야 하는 데이터를 처리할 때 유용합니다.

사용자가 입력한 사용자 이름이 3 자에서 10 자 사이인지 확인하는 시나리오를 만들어 보겠습니다. ~/project 디렉토리의 string_length.py 파일을 수정하여 다음을 포함합니다.

## filename: string_length.py
username = input("Enter a username: ")
length = len(username)

if length < 3:
    print("Username must be at least 3 characters long.")
elif length > 10:
    print("Username must be no more than 10 characters long.")
else:
    print("Username is valid.")

파일을 저장하고 실행합니다.

python ~/project/string_length.py

사용자 이름이 너무 짧으면:

Enter a username: ab

출력은 다음과 같습니다.

Username must be at least 3 characters long.

사용자 이름이 너무 길면:

Enter a username: abcdefghijk

출력은 다음과 같습니다.

Username must be no more than 10 characters long.

유효한 사용자 이름을 입력하면:

Enter a username: abcdef

출력은 다음과 같습니다.

Username is valid.

이 예제는 len() 함수를 사용하여 문자열이 특정 길이 기준을 충족하는지 확인하는 방법을 보여줍니다.

이제 암호를 검증하려는 더 복잡한 시나리오를 고려해 보겠습니다. 암호는 8 자에서 16 자 사이여야 하며, 최소한 하나의 숫자를 포함해야 합니다. string_length.py 파일을 다음과 같이 수정합니다.

## filename: string_length.py
password = input("Enter a password: ")
length = len(password)

has_digit = False
for char in password:
    if char.isdigit():
        has_digit = True
        break

if length < 8:
    print("Password must be at least 8 characters long.")
elif length > 16:
    print("Password must be no more than 16 characters long.")
elif not has_digit:
    print("Password must contain at least one digit.")
else:
    print("Password is valid.")

파일을 저장하고 실행합니다.

python ~/project/string_length.py

암호가 너무 짧으면:

Enter a password: abcdefg

출력은 다음과 같습니다.

Password must be at least 8 characters long.

암호가 너무 길면:

Enter a password: abcdefghijklmnopq

출력은 다음과 같습니다.

Password must be no more than 16 characters long.

암호에 숫자가 포함되어 있지 않으면:

Enter a password: abcdefgh

출력은 다음과 같습니다.

Password must contain at least one digit.

유효한 암호를 입력하면:

Enter a password: abcdefg1

출력은 다음과 같습니다.

Password is valid.

이 예제는 len() 함수를 문자열을 반복하여 특정 문자를 확인하는 것과 같은 다른 기술과 결합하여 보다 정교한 유효성 검사를 수행하는 방법을 보여줍니다.

요약

이 랩에서는 len() 함수를 사용하여 Python 에서 문자열의 길이를 결정하는 방법을 배웠습니다. 이 랩에서는 빈 문자열을 포함한 미리 정의된 문자열의 길이를 계산하는 방법과 사용자로부터 문자열 입력을 받아 길이를 계산하는 방법을 보여주었습니다.

제공된 예제는 len() 함수가 공백과 특수 문자를 포함하여 문자열의 문자 수를 반환하고, 빈 문자열의 길이가 0 임을 보여주었습니다. 또한 터미널에서 Python 스크립트를 실행하고 출력을 관찰하는 연습도 했습니다.