Notice
Recent Posts
Recent Comments
Link
SeouliteLab
파이썬의 Optional 타입: 값이 존재하지 않을 수 있는 유연한 변수 처리 본문
파이썬의 Optional 타입은 값이 존재하지 않을 수 있는 변수를 다룰 때 사용되며, 주로 함수의 매개변수나 반환값으로 활용됩니다. 이번 글에서는 Optional 타입의 사용 예시와 그 중요성에 대해 알아보겠습니다.
예제 1: Optional을 사용한 함수 매개변수
from typing import Optional
def greet(name: Optional[str] = None):
if name:
print(f"Hello, {name}!")
else:
print("Hello, everyone!")
greet("Alice")
# 출력 결과: Hello, Alice!
greet()
# 출력 결과: Hello, everyone!
위 예제에서는 Optional[str]
을 사용하여 함수 greet
의 매개변수 name
이 선택적임을 나타냅니다. 따라서 이 매개변수에 값을 전달할 수도 있고 전달하지 않을 수도 있습니다.
예제 2: Optional을 사용한 반환값
from typing import Optional
def find_element(lst: list, target: int) -> Optional[int]:
if target in lst:
return lst.index(target)
else:
return None
result = find_element([1, 2, 3, 4, 5], 3)
print("Index:", result)
# 출력 결과: Index: 2
result_not_found = find_element([1, 2, 3, 4, 5], 6)
print("Index:", result_not_found)
# 출력 결과: Index: None
이 예제에서는 함수 find_element
가 리스트에서 특정 요소의 인덱스를 찾아 반환합니다. 하지만 요소가 리스트에 없을 경우 None
을 반환하도록 Optional을 사용합니다.
예제 3: Optional을 사용한 클래스 멤버 변수
from typing import Optional
class Person:
def __init__(self, name: Optional[str] = None):
self.name = name
def introduce(self):
if self.name:
print(f"My name is {self.name}.")
else:
print("My name is not provided.")
person_with_name = Person("Alice")
person_with_name.introduce()
# 출력 결과: My name is Alice.
person_without_name = Person()
person_without_name.introduce()
# 출력 결과: My name is not provided.
위 예제에서는 클래스 Person
의 생성자에서 Optional[str]
을 사용하여 이름이 선택적임을 나타냅니다. 따라서 이름이 제공되지 않을 수도 있습니다.
'프로그래밍' 카테고리의 다른 글
파이썬의 Union 타입: 다양한 타입의 유연한 결합 (0) | 2024.04.01 |
---|---|
파이썬의 Generic 타입: 다양한 타입의 유연한 지원 (0) | 2024.04.01 |
파이썬의 Dict 자료형: 키-값 쌍의 유연한 저장소 (0) | 2024.04.01 |
Python FastAPI: 타입 선언의 중요성과 활용 방법 (0) | 2024.04.01 |
Python FastAPI: 등호(=) 대신 콜론(:)을 사용하는 이유 (0) | 2024.04.01 |