Python字符串应该用双引号还是单引号?
Python字符串应该用双引号还是单引号
小编带来的是Python字符串应该用双引号还是单引号的IT小经验,请看下面详细的介绍。
PyCharm升级至 2023.2版本后,经常弹出来一个提示问我要不要试一下Black formatter。
试了一下,这个Black formatter 很有个性,特别喜欢换行。我的一个文件用PyCharm自带的代码整理器整理完之后是500行左右,然后再用Black整理就变成600多行了。
原来Black是Python Software Foundation主导的开源项目,Python亲儿子,口号也很有个性:The uncompromising Python code formatter。
它的Uncompromising还体现在它github上的第118个issue,2018年提出,是一个讨论了上百楼的神贴。
他们讨论的问题是:字符串应该用双引号还是单引号。
提问者的诉求
Python的字符串既允许双引号也允许单引号,甚至允许三引号。这种灵活性自然引起群魔乱舞,特别是双引号和单引号,大家基本上有自己的喜好。然而Black毫不妥协,规定只能用双引号。
提问者bofm 手上维护着一些更喜欢用单引号的旧项目,他问能不能提供一个选项让用户保留单引号。
他列出了一些理由:
- 存量项目已经采用单引号规则。
- Python官方文档例子都用单引号。
- repr() 返回单引号。
- 很多著名项目都用单引号
- PEP 的例子大多数用单引号。
- Guido(Python之父)在他最新的github commits里使用单引号。
强硬拒绝
事实上,作者还未出来,另外一个用户就已经点灭这个issue,他说Black的优点就是消灭掉这些鸡毛蒜皮的选择。接着Black的第一作者出来了。这位第一作者Lukasz Langa 是大神,Python核心团队成员,波兰人,钢琴家。

他(github账号是ambv)认为bofm说的理由都不是理由,就相当于说“由于其他项目无原则,所以Black也不应该有原则”。
这种盲从权威(an appeal to authority)的做人态度是不行的,Black是uncompromising的,绝不妥协。况且存量项目仍然可以用,只是可能看不惯格式化后的代码。
惨遭封贴
这时有个人出来帮bofm说话,他说技术上很容易满足bofm的需求,black已经提供了每行字数的选项,再加一个选项很容易,如果官方不肯加,那就Fork一个分支自己干。
这最后一句话可能激怒了ambv,他说虽然MIT协议允许你们随便fork单干,但在我的帖子里提到fork我会感到被冒犯,希望以后不要再提。
ambv说作为一个标准化格式化工具,太多的选择对用户来说反而是一个负担,也会使用户进一步要求更多选择(正如上面那个人提到的,既然提供每行字数的选项,为什么不能再加一个选项)。ambv 强调一定要标准化,反而
相关阅读
-
K8S认证工程师 CKA证书含金量
为大家分享K8S认证工程师的电脑方面的小经验,一起来了解了解吧。 CKA全称为(Certificated Kubernetes Administrator)即为官方认证的Kubernetes管理员。 管理员认证(CKA)旨在确保认证持有者具备履行
-
OSPF认证常见方式之SHA-HMAC身份验证
关于OSPF认证常见方式之SHA-HMAC身份验证的IT知识,下面IT袋网为您详细介绍 SHA-HMAC(Secure Hash Algorithm-Hash-based Message Authentication Code)是一种基于哈希算法的消息认证码。 它使用SHA算法对消息和密
-
主机字节序和网络字节序详解 深入解析主机字节序与网络字节序
文章导读:主机字节序和网络字节序详解IT技巧方面的经验,接下来就是全面介绍。 主机字节序 网络通信本质上是不同的机器进行数据交换,一般不同的机器有着不同的 CPU 型号,不同的 CPU
-
帝国CMS调用栏目分类代码 帝国cms调用一二级栏目做导航代码
使用帝国cms做网站的站长朋友应该都需要这段代码, 帝国cms调用一二级栏目做导航 ,因为这样调用很方便,还可以指定是否显示对应的栏目到导航,前提是做好了CSS布局样式,需要的站长复制


