python的monads使它变得简单和安全。

dry-monads的Python项目详细描述


干单子

wemake.servicesBuild StatusCoverage StatusDocumentation StatusPython Versionwemake-python-styleguide

使python的单子变得简单和安全。

功能

  • 提供用于编写声明性业务逻辑的原语
  • 完全类型化并用mypy检查, 也允许您编写类型安全代码
  • 没有操作员超载或其他使您眼睛流血的不符合语法的东西

安装

pip install dry-monads

里面是什么?

我们有几个最具代表性的单子:

我们也关心代码的可读性和开发人员的经验, 因此,我们提供了一些有用的功能,使您的生活更轻松:

示例

fromdry_monads.do_notationimportdo_notationfromdry_monads.eitherimportResult,Success,FailureclassCreateAccountAndUser(object):"""Creates new Account-User pair."""@do_notationdef__call__(self,username:str,email:str)->Result['User',str]:"""Can return a Success(user) or Failure(str_reason)."""user_schema=self._validate_user(username,email).unwrap()account=self._create_account(user_schema).unwrap()returnself._create_user(account)# Protected methods# ...

我们在文件里。

灵感

本模块主要基于:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何重用DatagramSocket?   java Struts可视化调试   jGrasp和MinGW的java错误无法编译代码0xc000007b   JSP中的java上载文件如何更改上载文件的默认路径   eclipse maven将参数传递给pom java。图书馆路径cplex   java用于循环检查数组中的数字是否向上或向下移动   java使用Jackson解析GSA XML列表   如何在Java中汇总ArrayList中具有相同属性的所有元素?   计时器Java使用任务本身的数据终止计时器任务   java IBM Rapid Application Developer 8.5.1滚动条不可拖动(Enterprise Explorer\Package Explorer)+CtrlF on JSP有时不工作   java我可以要求Intellij为整个产品线应用意图操作吗?   如何在Java中从时间字符串中提取秒数?   java如何在组件表示存储扩展中获取组件对象   java断路器(弹性4J)在Spring Boot应用程序中不工作   Java检查用户从控制台给出的数字是否在文本文件中   JavaSelenium、Firefox和geckodriver不会自动滚动单击方法   java是否可以在MR作业之外将数据写入HDFS,并仍然使用配置单元进行查询?   JavaIDEA在JAR中创建空的命名文件夹   java如何使用字符串按字母顺序对用户输入的字符串名称进行排序。等于和字符串。比较函数