from urllib.parse import urlparse class TCPConnection: def __init__(self, host, port, timeout, **kwargs): super().__init__(**kwargs) print(f"New TCPConnection with {host=}, {port=}, {timeout=}") class HTTPConnection(TCPConnection): def __init__(self, url, method="GET", **kwargs): parsed = urlparse(url) try: host, port = parsed.netloc.split(":") except ValueError: host, port = parsed.netloc, 80 if url.startswith("http://") else 443 print(f"New HTTPConnection with {url=}, {method=}") super().__init__(host=host, port=int(port), **kwargs) HTTPConnection(url="https://mdk.fr", timeout=10, fail=42) # HTTPConnection(url="https://mdk.fr", timeout=10)