summaryrefslogtreecommitdiff
path: root/doc/data/messages/s/singledispatch-method/good.py
blob: f38047cd13599bb2ad237bba85e0f8ff9611865a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from functools import singledispatch


class Board:
    @singledispatch
    @staticmethod
    def convert_position(position):
        pass

    @convert_position.register
    @staticmethod
    def _(position: str) -> tuple:
        position_a, position_b = position.split(",")
        return (int(position_a), int(position_b))

    @convert_position.register
    @staticmethod
    def _(position: tuple) -> str:
        return f"{position[0]},{position[1]}"