linux 让代码美观,为什么 Python 代码要写得美观而明确 | Linux 中国
原标题:为什么 Python 代码要写得美观而明确 | Linux 中国
欢迎阅读“Python 光明节(Pythonukkah)”系列文章,这个系列文章将会讨论《Python 之禅》。我们首先来看《Python 之禅》里的前两个原则:美观与明确。
-- Moshe Zadka
欢迎阅读“Python 光明节(Pythonukkah)”系列文章,这个系列文章将会讨论《Python 之禅》。我们首先来看《Python 之禅》里的前两个原则:美观与明确。
早在 1999 年,Python 的贡献者之一,Tim Peters 就提出了《》,直到二十年后的今天,《Python 之禅》中的 19 条原则仍然对整个社区都产生着深远的影响。为此,就像庆典光明的 光明节 Hanukkah 一样,我们举行了这一次的“ Python 光明节 Pythonukkah ”。首先,我们会讨论《Python 之禅》中的前两个原则:美观和明确。
“Hanukkah is the Festival of Lights,
Instead of one day of presents, we get eight crazy nights.”
—亚当·桑德勒,
美观胜于丑陋
著名的《》中有这么一句话: 代码是写给人看的,只是恰好能让机器运行。 Programs must be written for people to read and only incidentally for machines to execute. 机器并不在乎代码的美观性,但人类在乎。
阅读美观的代码对人们来说是一种享受,这就要求在整套代码中保持一致的风格。使用诸如 、、 这一类工具能够有效地接近这一个目标。
但实际上,只有人类自己才知道什么才是真正的美观。因此,代码审查和协同开发是其中的不二法门,同时,在开发过程中倾听别人的意见也是必不可少的。
最后,个人的主观能动性也很重要,否则一切工具和流程都会变得毫无意义。只有意识到美观的重要性,才能主动编写出美观的代码。
这就是为什么美观在众多原则当中排到了首位,它让“美”成为了 Python 社区的一种价值。如果有人要问,”我们 真的在乎美吗?“社区会以代码给出肯定的答案。
明确胜于隐晦
人类会欢庆光明、惧怕黑暗,那是因为光能够让我们看到难以看清的事物。同样地,尽管有些时候我们会不自觉地把代码写得含糊不清,但明确地编写代码确实能够让我们理解很多抽象的概念。
“为什么类方法中要将 self 显式指定为第一个参数?”
这个问题已经是老生常谈了,但网络上很多流传已久的回答都是不准确的。在编写 元类 metaclass 时,显式指定 self 参数就显得毫无意义。如果你没有编写过元类,希望你可以尝试一下,这是很多 Python 程序员的必经之路。
显式指定 self 参数的原因并不是 Python 的设计者不想将这样的元类视为“默认”元类,而是因为第一个参数必须是 显式的。
即使 Python 中确实允许非显式的情况存在(例如上下文变量),但我们还是应该提出疑问:某个东西是不是有存在的必要呢?如果非显式地传递参数会不会出现问题呢?有些时候,由于种种原因,这是会有问题的。总之,在写代码时一旦能够优先考虑到明确性,至少意味着能对不明确的地方提出疑问并对结果作出有效的估计。
作者: 选题: 译者: 校对:
本文由 原创编译, 荣誉推出返回搜狐,查看更多
责任编辑:
linux 让代码美观,为什么 Python 代码要写得美观而明确 | Linux 中国相关推荐
- matlab代码重改python代码,对应函数
(2021)matlab代码重改python代码,对应函数--全!_Troublemaker丶的博客-CSDN博客
- 【Python基础】如何编写简洁美观的Python代码
作者 | ANIRUDDHA BHANDARI 编译 | VK 来源 | Analytics Vidhya 概述 Python风格教程将使你能够编写整洁漂亮的Python代码 在这个风格教程中学习不同 ...
- python代码怎么运行-python代码如何运行
交互提示模式下编写代码 安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式. Python 交互模式有以下几个注意点: 1. 只能够输入P ...
- python代码怎么运行-python代码是怎样运行的
python作为一种动态语言,其实是一个解释器软件包.当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤.第一步是编译成所谓的"字节码",如果Pytho ...
- python200行代码_200行Python代码实现2048
200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...
- python 运行部分代码_改改Python代码,运行速度还能提升6万倍
如果摩尔定律注定终结,人类的算力会被「锁死」吗?MIT.英伟达.微软研究者合著的一篇 Science 论文告诉我们:不会. 这份最新研究指出,在后摩尔定律时代,人类所获得的的算力提升将更大程度上来源于 ...
- python100行代码-100行Python代码自动抢火车票!
今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool. 先准备好: 1)12306网站用户名和密码 2)chrome浏览器及下载chromedriver 3)下载Python代码,来自网络整理 ...
- python画图简单代码-简单画图 - python代码库 - 云代码
[python]代码库#使用turtle库绘制图形 #画出 NUESOFT #导入turtle库 使用import + 模块名 as 相当于起一个别名 import turtle as t #设置画布 ...
- python代码格式-设置Python代码格式
代码编写风格的重要性: 随着你编写的程序越来越长,有必要了解一些代码格式设置约定.请花时间让你的代码尽可能易于阅读:让代码易于阅读有助于你掌握程序是做什么的,也可以帮助他人理解你编写的代码.为确保所有 ...
最新文章
- 研究你为啥看着淘宝想剁手,阿里达摩院论文登上NeurIPS 2019
- python软件管理系统_conda:基于python的软件管理系统
- java.lang.IllegalStateException: Failed to read Class-Path attribute from manifest of jar file:/XXX
- Windows句柄表学习笔记 —— 句柄表全局句柄表
- leetcode 高薪_LeetCode刷题实战69:x 的平方根
- Qt双击桌面快捷方式激活并使程序窗口置于最前端
- 文本显示变量_无代码软件开发文本字符显示设计
- nodejs的启动方式
- 提高搜索引擎结果页面排名的各种技术
- 设计模式14——行为型模式之职责链模式
- python日历下拉框_selenium+Python(Js处理日历控件)
- 黄聪:WordPress默认编辑器可视化切换不见了,非插件导致消失问题
- 《FLUENT 14流场分析自学手册》——1.5 湍流模型
- IDEA软件中的五子棋~
- C++ 打印机状态查询之SNMP协议
- java类库详解_【Java系列-4】Java常用类库_详解
- 大白话讲解,大数据基本术语
- 抢红包算法 c++_“抠抠族”的出行利器,斤斤计较的几何C为了节能果然够拼
- 【读书】2019年阅读记录
- ASAM MCD2D 笔记(1) - ODX use cases