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