Python len() 함수 완전 가이드: 기본부터 응용까지 상세 해설

1. 시작

Python은 그 단순함과 다용도 기능으로 널리 사용되는 프로그래밍 언어입니다. 그 중에서도 가장 기본적이고 중요한 함수 중 하나가 len() 함수입니다. 이 함수는 리스트, 문자열, 사전 등 데이터 타입에 포함된 요소의 수나 문자열의 길이를 얻기 위해 사용되며, Python 프로그래밍에서 매우 자주 등장합니다. len() 함수는 간단한 구문이지만 많은 데이터 조작에 유용한 강력한 도구입니다. 본 기사에서는 len()의 기본 사용법부터 응용, 그리고 자주 발생하는 오류와 그 대처 방법까지 자세히 설명합니다. 구체적인 코드 예시도 다수 소개하여 초급자부터 중급자까지의 Python 사용자에게 도움이 되는 내용을 제공합니다.

2. Python len() 함수란?

2.1 len() 함수의 기본 구문

Python의len() 함수는 시퀀스형이나 매핑형에 대해 그 길이와 요소 수를 반환하는 내장 함수입니다. 사용법은 매우 간단하며, 다음과 같은 구문으로 사용합니다.
len(객체)
이 객체에는 리스트, 문자열, 튜플, 사전, 집합 등을 지정할 수 있습니다. 각각의 데이터 타입에 대해len() 함수가 반환하는 값은 해당 데이터에 포함된 요소의 수입니다.

2.2 len() 함수의 사용 예

  • 리스트의 길이를 구하는 경우 리스트 내 요소 수를 구하는 가장 간단한 방법이len() 함수입니다.
numbers = [1, 2, 3, 4, 5]
print(len(numbers))  # 출력: 5
  • 문자열의 길이를 구하는 경우 문자열의 길이를 구할 때도len() 함수를 사용할 수 있습니다. 공백이나 기호도 포함되어 카운트됩니다.
text = "안녕, 세계!"
print(len(text))  # 출력: 9
  • 딕셔너리의 요소 수를 구하는 경우 딕셔너리에 대해len()을 사용하면, 키의 수를 반환합니다.
person = {'name': 'John', 'age': 30, 'city': 'New York'}
print(len(person))  # 출력: 3
  • 튜플 및 집합에도 적용 튜플 및 집합의 요소 수도len()으로 쉽게 얻을 수 있습니다.
dimensions = (1920, 1080)
unique_numbers = {1, 2, 3, 4, 5}
print(len(dimensions))        # 출력: 2
print(len(unique_numbers))    # 출력: 5

2.3 len() 함수의 일관성

Python의len() 함수는 다양한 데이터 타입에 일관된 인터페이스를 제공하여, 사용 방법을 다시 배울 필요가 없다는 큰 장점이 있습니다. 이를 통해 여러 데이터 타입을 다루는 프로그램에서도 동일하게 길이를 얻을 수 있어 매우 편리합니다.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. len() 함수 사용법 상세

3.1 리스트에 대한 len() 사용 예시

리스트는 Python에서 가장 많이 사용되는 데이터 타입 중 하나입니다. 리스트 내 요소 수를 얻기 위해 len()이 자주 사용되며, 특히 데이터 길이에 따라 동적인 처리가 필요할 때 유용합니다.
fruits = ['apple', 'banana', 'cherry']
print(len(fruits))  # 출력: 3

3.2 문자열에 대한 len() 사용 예시

문자열도 시퀀스 타입 중 하나이며, len()을 사용해 그 길이를 얻을 수 있습니다 멀티바이트 문자(일본어)도 포함하여 문자열의 길이를 얻는 예를 보여줍니다.
greeting = "안녕하세요"
print(len(greeting))  # 출력: 5

3.3 사전에 대한 len() 사용 예시

사전에 len()을 사용하면 해당 사전 내에 존재하는 키의 수를 얻습니다. 사전은 키와 값의 쌍으로 구성되어 있기 때문에, 요소 수라는 개념은 “키의 수”에 해당합니다.
data = {'name': 'Alice', 'age': 25, 'city': 'Tokyo'}
print(len(data))  # 출력: 3

3.4 빈 데이터 타입에 대한 len() 동작

빈 리스트나 사전에도 len()을 사용할 수 있습니다. 이 경우 요소가 존재하지 않으므로 len()0을 반환합니다.
empty_list = []
empty_dict = {}
print(len(empty_list))  # 출력: 0
print(len(empty_dict))  # 출력: 0

4. 응용편: len()을 사용한 프로그램 예시

4.1 len()을 사용한 루프 처리

리스트와 튜플의 길이에 따라 루프 처리를 할 경우, len() 함수와 range()를 결합함으로써 효율적인 루프 처리가 가능합니다.
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):
    print(fruits[i])
이 코드는 리스트 fruits 내부의 각 요소를 순서대로 출력합니다.

4.2 조건 분기에서 len()의 활용

len()을 사용하여 리스트나 문자열이 비어 있는지 확인하고, 조건 분기에 활용할 수 있습니다. 특정 조건에서 데이터의 유무에 따라 처리를 전환하는 데 도움이 됩니다.
items = []

if len(items) == 0:
    print("리스트는 비어 있습니다")
else:
    print(f"리스트에는{len(items)}개의 아이템이 있습니다")

4.3 문자열 검증에서 len()의 활용

len() 함수는 사용자 입력을 확인할 때에도 유용합니다. 예를 들어, 비밀번호 길이를 확인하는 경우입니다.
password = input("비밀번호를 입력해주세요: ")

if len(password) < 8:
    print("비밀번호는 8자 이상이어야 합니다")
else:
    print("비밀번호가 승인되었습니다")
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

5. 자주 발생하는 오류와 해결 방법

5.1 TypeError: object of type 'int' has no len()

len()은 정수에 적용할 수 없기 때문에 이 오류가 발생합니다. 정수의 길이를 얻으려면 문자열로 변환해야 합니다.
number = 10
print(len(str(number)))  # 출력: 2

5.2 TypeError: object of type 'NoneType' has no len()

None에 대해len()을 사용하면 이 오류가 발생합니다. None 체크를 하거나, 빈 리스트나 문자열로 초기화하면 좋습니다.
my_list = None

if my_list is not None:
    print(len(my_list))
else:
    print("리스트가 존재하지 않습니다")

6. 요약

Python의len() 함수는, 데이터의 길이와 요소 수를 얻기 위한 기본적이면서도 강력한 도구입니다. 이 글을 통해, len() 함수의 기본 사용법부터 응용, 오류 처리까지 배우고, 특히 실제 프로그램에서 어떻게 사용할 수 있는지 이해했을 것이 아닐까요.

6.1 len() 함수의 편리성

len() 함수는, Python의 많은 데이터 타입에 대해 일관되게 사용할 수 있다는 점이 가장 큰 장점입니다. 리스트, 문자열, 사전, 튜플, 집합 등 다양한 데이터 타입에 대해 같은 방법으로 길이를 얻을 수 있기 때문에 특정 데이터 타입에 의존하지 않고 효율적으로 데이터를 조작할 수 있습니다.

6.2 응용적인 사용법과 오류 처리

len() 함수는 리스트의 길이를 얻는 것뿐만 아니라, 루프와 조건 분기에서의 응용, 나아가 사용자 입력 검증에도 사용할 수 있습니다. 또한, 기사에서 소개한 오류 처리 방법을 이해해 두면 실제 개발 중에 발생하기 쉬운 문제에도 유연하게 대응할 수 있습니다. 앞으로도 Python의 기본 함수를 활용하여 보다 효율적이고 오류가 적은 프로그램을 만들어 나갑시다. len()은 그 첫걸음이 되는 도구입니다.