Saturday 11 May 2024

Type Hints in Python

 Type hints in Python are an excellent tool for improving code quality and maintainability, especially in larger projects. 

from typing import Optional

class TreeNode:

    def __init__(self, value: int) -> None:

        self.value = value

        self.left: Optional['TreeNode'] = None

        self.right: Optional['TreeNode'] = None

#clcoding.com

class LinkedListNode:

    def __init__(self, value: int, next_node: 'LinkedListNode' = None) -> None:

        self.value = value

        self.next = next_node

#clcoding.com

from typing import Optional

class TreeNode:

    def __init__(self, value: int) -> None:

        self.value = value

        self.left: Optional['TreeNode'] = None

        self.right: Optional['TreeNode'] = None

#clcoding.com

from typing import TypeVar

class Animal:

    def speak(self) -> str:

        raise NotImplementedError

class Dog(Animal):

    def speak(self) -> str:

        return "Woof!"

T = TypeVar('T', bound=Animal)

def make_sound(animal: T) -> str:

    return animal.speak()

#clcoding.com

from typing import Callable

def apply_func(func: Callable[[int, int], int], a: int, b: int) -> int:

    return func(a, b)

#clcoding.com

from typing import Iterable, TypeVar

T = TypeVar('T')

def process_items(items: Iterable[T]) -> None:

    for item in items:

        # Process each item

        pass

#clcoding.com

from typing import TypeVar, Iterable

T = TypeVar('T')

def first_element(items: Iterable[T]) -> T:

    return next(iter(items))

#clcoding.com

from typing import List, Tuple

Point = Tuple[int, int]

Polygon = List[Point]

def area(polygon: Polygon) -> float:

    # Calculate area of polygon

    pass

#clcoding.com

from typing import Union
def square_root(num: Union[int, float]) -> Union[int, float]:
    return num ** 0.5

#clcoding.com
from typing import Optional

def greet(name: Optional[str]) -> str:
    if name:
        return f"Hello, {name}!"
    else:
        return "Hello, anonymous!"

#clcoding.com

0 Comments:

Post a Comment

Popular Posts

Categories

AI (27) Android (24) AngularJS (1) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (118) C (77) C# (12) C++ (82) Course (62) Coursera (180) Cybersecurity (22) data management (11) Data Science (95) Data Strucures (6) Deep Learning (9) Django (6) Downloads (3) edx (2) Engineering (14) Excel (13) Factorial (1) Finance (6) flutter (1) FPL (17) Google (19) Hadoop (3) HTML&CSS (46) IBM (25) IoT (1) IS (25) Java (92) Leet Code (4) Machine Learning (44) Meta (18) MICHIGAN (5) microsoft (4) Pandas (3) PHP (20) Projects (29) Python (753) Python Coding Challenge (230) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (2) Software (17) SQL (40) UX Research (1) web application (8)

Followers

Person climbing a staircase. Learn Data Science from Scratch: online program with 21 courses