简单python代码
“非常完美,无法完全解决,而不能完全解决”。
“看来,最终的完美不是在不再需要添加任何东西时,而是在不再需要去除任何东西时才达到的。”
—安东尼·德·圣埃修伯里(Antoine deSaint-Exupéry),霍姆斯山庄( Terre des Hommes) ,1939年
编程中的一个常见问题是与复杂性的斗争。 对于任何程序员来说,编写一个程序都非常容易,因为如此复杂,没有专家可以调试或修改它。 如果不解决这个问题,Python的Zen将是不完整的。
简单胜于复杂。
如果可以选择,则选择简单的解决方案。 Python很少涉及禁止事物的事务。 这意味着可以设计巴洛克式程序来解决简单的问题,甚至很简单。
值得记住的是,在编写代码时,简单性是最容易丢失的东西之一,也是最难获得的东西。
这可能意味着选择将某些内容编写为函数,而不是引入无关的类。 这可能意味着避免使用健壮的第三方库,而倾向于编写两行函数,该函数非常适合立即使用的情况。 通常,这意味着避免预测未来,而倾向于解决眼前的问题。
复杂胜于复杂。
这可能是最容易被误解的原理,因为理解单词的确切含义至关重要。 当它由多个部分组成时,有些事情很复杂 。 当某事物具有许多不同的行为(通常很难预测)时,它就变得很复杂 。
解决难题时,通常没有简单的解决方案可以解决。 在这种情况下,最Python化的策略是“自下而上”。 构建简单的工具并将其组合以解决问题。
这就是诸如对象合成之类的技术大放异彩的地方。 拥有复杂的继承层次结构,而不是拥有将某些方法调用转发到单独对象的对象。 可以分别测试和开发每个组件,然后将它们放在一起。
“构建”的另一个示例是使用singledispatch ,因此我们有一个简单的,几乎没有行为的对象和单独的行为,而不是一个复杂的对象。
翻译自: https://opensource.com/article/19/12/zen-python-simplicity-complexity
简单python代码