https://github.com/newdee/typeric
Python
Python 实用类,如 rust 风格的 Result 和 Option 等
typeric 是一个面向 Python 的实用类型工具包,专注于清晰性、安全性和易用性。它最初是为了提升我个人的开发体验而构建的,但我也希望它能对他人有所帮助。
目前,typeric 提供了轻量且支持模式匹配的类型,比如 Result 和 Option —— 设计灵感来自 Rust 。未来还计划引入更多常见的类型模式和错误处理抽象。
Result
类型:Ok(value)
和 Err(error)
Option
类型:Some(value)
和 NONE
__match_args__
).map()
/ .map_err()
/ .unwrap()
/ .unwrap_or()
等辅助方法Result[T, E]
和 Option[T]
### `Result`
from typeric.result import Result, Ok, Err
def parse_number(text: str) -> Result[int, str]:
try:
return Ok(int(text))
except ValueError:
return Err("Not a number")
match parse_number("42"):
case Ok(value):
print("Parsed:", value)
case Err(error):
print("Failed:", error)
### `Option`
from typeric.option import Option, Some, NONE
def maybe_get(index: int, items: list[str]) -> Option[str]:
if 0 <= index < len(items):
return Some(items[index])
return NONE
match maybe_get(1, ["a", "b", "c"]):
case Some(value):
print("Got:", value)
case NONE:
print("Nothing found")
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.