❓ Optional Types
Optional types are used when a variable or function value can be a specific type OR None.
They are useful when a value may or may not be provided.
🔹 Using Optional
Optional comes from the typing module.
from typing import Optional
name: Optional[str] = NoneThis means:
name → str OR NoneSo both are valid:
name: Optional[str] = "Tisha"
name: Optional[str] = None🔹 Optional Function Parameters
from typing import Optional
def greet(name: Optional[str] = None):
if name:
print("Hello", name)
else:
print("Hello!")Now both work:
greet("Tisha")
greet()Hello Tisha
Hello!🆕 Modern Syntax
In modern Python, you can write:
name: str | None = Noneinstead of:
name: Optional[str] = NoneBoth mean: str OR None