小编Mic*_*iac的帖子

EAFP 和 mypy 可以共存吗?

EAFP

请求原谅比请求许可更容易。这种常见的 Python 编码风格假设存在有效的键或属性,并在假设证明错误时捕获异常。这种干净快速的风格的特点是存在许多 try 和 except 语句。该技术与许多其他语言(例如 C)常见的 LBYL 风格形成对比。

来自 Python 术语表

米皮

mypy是什么?

Mypy 是 Python 的可选静态类型检查器。您可以向 Python 程序添加类型提示 ( PEP 484 ),并使用 mypy 对它们进行静态类型检查。甚至无需运行程序即可找到程序中的错误!

您可以在程序中混合动态和静态类型。当静态类型不方便时(例如遗留代码),您始终可以回退到动态类型。

这是有关 EAFP 的精彩 YouTube 视频: https: //youtu.be/x3v9zMX1s4s

我正在尝试使用mypy,但基本上每次我编写一些 EAFP 代码时它都会生气。

例如:

from contextlib import suppress

from typing import Optional


class MyClass:
    def __init__(self):
        self.__name: Optional[str] = None

    @property
    def name(self) -> Optional[str]:
        return self.__name

    @name.setter
    def name(self, name: str):
        self.__name = name

    @property
    def upper_name(self) -> Optional[str]:
        with …
Run Code Online (Sandbox Code Playgroud)

python duck-typing mypy python-typing

6
推荐指数
0
解决办法
457
查看次数

标签 统计

duck-typing ×1

mypy ×1

python ×1

python-typing ×1