import os
import sys
from typing import List, Dict, Optional, Union, TypeVar, Generic, Protocol, Final, Literal
from dataclasses import dataclass, field
from enum import Enum, auto
from abc import ABC, abstractmethod
import asyncio
from functools import wraps, lru_cache
from contextlib import contextmanager
import warnings
MAX_SIZE: Final[int] = 1024
DEFAULT_NAME: str = "default"
_PRIVATE_CONSTANT = "private"
__MANGLED_CONSTANT = "mangled"
global_counter = 0
_module_cache: Dict[str, any] = {}
import json as json_module
from pathlib import Path as FilePath
counter = 0
counter += 1
counter -= 1
counter *= 2
def outer_function():
outer_var = 10
def inner_function():
nonlocal outer_var
global global_counter
outer_var += 1
global_counter += 1
inner_function()
def countdown(n: int):
while n > 0:
n -= 1
def read_file(path: str):
with open(path) as f:
return f.read()
T = TypeVar('T')
K = TypeVar('K')
V = TypeVar('V')
Number = Union[int, float]
JsonValue = Union[None, bool, int, float, str, List['JsonValue'], Dict[str, 'JsonValue']]
def simple_function(x: int, y: int) -> int:
return x + y
def function_with_defaults(
name: str,
age: int = 0,
active: bool = True,
tags: Optional[List[str]] = None
) -> Dict[str, any]:
if tags is None:
tags = []
return {"name": name, "age": age, "active": active, "tags": tags}
def variadic_function(*args: int, **kwargs: str) -> tuple:
return args, kwargs
def outer_function(x: int) -> callable:
def inner_function(y: int) -> int:
return x + y
return inner_function
square = lambda x: x ** 2
filtered_map = lambda items, pred: list(filter(pred, map(str.upper, items)))
def fibonacci_generator(n: int):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
async def async_fetch(url: str) -> str:
await asyncio.sleep(0.1)
return f"Data from {url}"
async def async_counter(start: int, end: int):
for i in range(start, end):
await asyncio.sleep(0.01)
yield i
def timer_decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
import time
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"{func.__name__} took {end - start}s")
return result
return wrapper
def retry(max_attempts: int = 3):
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
for attempt in range(max_attempts):
try:
return func(*args, **kwargs)
except Exception as e:
if attempt == max_attempts - 1:
raise
return None
return wrapper
return decorator
def singleton(cls):
instances = {}
def get_instance(*args, **kwargs):
if cls not in instances:
instances[cls] = cls(*args, **kwargs)
return instances[cls]
return get_instance
@contextmanager
def managed_resource(name: str):
print(f"Acquiring {name}")
try:
yield name
finally:
print(f"Releasing {name}")
class SimpleClass:
class_variable = "shared"
def __init__(self, name: str):
self.name = name
self._protected = "protected"
self.__private = "private"
def method(self) -> str:
return self.name
@classmethod
def class_method(cls) -> str:
return cls.class_variable
@staticmethod
def static_method(x: int) -> int:
return x * 2
@property
def protected(self) -> str:
return self._protected
@protected.setter
def protected(self, value: str):
self._protected = value
def __str__(self) -> str:
return f"SimpleClass({self.name})"
def __repr__(self) -> str:
return f"SimpleClass(name={self.name!r})"
def _protected_method(self):
pass
def __private_method(self):
pass
class BaseClass(ABC):
def __init__(self, id: int):
self.id = id
@abstractmethod
def process(self, data: any) -> any:
pass
def common_method(self) -> int:
return self.id
class DerivedClass(BaseClass):
def __init__(self, id: int, name: str):
super().__init__(id)
self.name = name
def process(self, data: any) -> any:
return f"Processing {data} with {self.name}"
class Mixin1:
def mixin1_method(self):
return "mixin1"
class Mixin2:
def mixin2_method(self):
return "mixin2"
class MultipleInheritance(DerivedClass, Mixin1, Mixin2):
pass
class GenericContainer(Generic[T]):
def __init__(self):
self._items: List[T] = []
def add(self, item: T) -> None:
self._items.append(item)
def get(self, index: int) -> Optional[T]:
if 0 <= index < len(self._items):
return self._items[index]
return None
def __iter__(self):
return iter(self._items)
class Drawable(Protocol):
def draw(self) -> None:
...
@dataclass
class Person:
name: str
age: int
email: Optional[str] = None
tags: List[str] = field(default_factory=list)
metadata: Dict[str, any] = field(default_factory=dict)
def __post_init__(self):
if self.age < 0:
raise ValueError("Age cannot be negative")
@dataclass(frozen=True)
class Point3D:
x: float
y: float
z: float
def distance_from_origin(self) -> float:
return (self.x**2 + self.y**2 + self.z**2) ** 0.5
class Color(Enum):
RED = "#FF0000"
GREEN = "#00FF00"
BLUE = "#0000FF"
class Status(Enum):
PENDING = auto()
PROCESSING = auto()
COMPLETED = auto()
FAILED = auto()
from typing import NamedTuple
class Coordinate(NamedTuple):
lat: float
lon: float
altitude: Optional[float] = None
from typing import TypedDict
class UserDict(TypedDict):
id: int
name: str
email: str
active: bool
tags: List[str]
class CustomError(Exception):
def __init__(self, message: str, code: int = 0):
super().__init__(message)
self.code = code
class ValidationError(CustomError):
pass
class NetworkError(CustomError):
pass
squares = (x**2 for x in range(10))
even_squares = [x**2 for x in range(20) if x % 2 == 0]
word_lengths = {word: len(word) for word in ["hello", "world", "python"]}
unique_lengths = {len(word) for word in ["hello", "world", "python", "code"]}
matrix = [[i*j for j in range(5)] for i in range(5)]
def process_data(data: List[int]) -> Optional[int]:
if (n := len(data)) > 10:
return sum(data) // n
return None
def handle_command(command: Union[str, List[str], Dict[str, any]]) -> str:
match command:
case str(s) if s.startswith("help"):
return "Showing help"
case ["list", *items]:
return f"Listing {len(items)} items"
case {"action": action, "target": target}:
return f"Performing {action} on {target}"
case _:
return "Unknown command"
def is_string_list(val: List[any]) -> bool:
return all(isinstance(item, str) for item in val)
class SingletonMeta(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super().__call__(*args, **kwargs)
return cls._instances[cls]
class SingletonClass(metaclass=SingletonMeta):
pass
class OptimizedClass:
__slots__ = ['x', 'y', 'z']
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
__all__ = ['SimpleClass', 'BaseClass', 'DerivedClass', 'Person']
__version__ = "1.0.0"
__author__ = "Test Author"
if sys.platform == "win32":
import msvcrt
else:
import termios
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from some_module import SomeType
if __name__ == "__main__":
obj = SimpleClass("test")
print(obj)
async def main():
result = await async_fetch("http://example.com")
print(result)
asyncio.run(main())