控制流 / 条件语句 / 匹配语句

class Tiger:
    pass


def describe(obj):
    match obj:
        case 2:
            return "two"
        case Tiger():
            return "Tiger!!!"
        case "Error":
            return "Error string"
        case int():
            return "Int type"
        case str(s):
            return f"string value '{s}'"
        case _:
            return "Unknown type"


result = describe(Tiger())
print(f"{result = }")

result = describe("test")
print(f"{result = }")

result = describe(5)
print(f"{result = }")