Python字符串应该用双引号还是单引号?(3)
Python字符串应该用双引号还是单引号
观点整理
这时候有个叫zestyping的重量级人物出来了。他在Hacker News那边就参加过这个议题,现在跟到这边吃瓜。他说希望贡献自己的一份力量(更重要的原因是周六晚上没事干),就把帖子里的各方观点整理一遍,尽量中立地展示各种论据。他还很贴心地按照“来源”和“类别”两个大方向组织论据。这里按类别展示:
一、Python语言自身
- Python官方文档更喜欢采用单引号。(Python 3.6: 80% vs 20%)
- Python标准库更喜欢采用单引号。(Python 3.6:74% vs 26%)
- repr() 采用单引号。
二、现实世界
- 很多热门开源Python项目用单引号。(无数据支持)
- 有些公司要求使用单引号。(无数据支持)
- PEP 规范里的例子更多地使用单引号。(无数据支持)
- Guido(Python之父)更倾向于使用单引号。(无数据支持)
- 有些程序员用双引号表示供人类阅读的字符串,用单引号表示供机器阅读的字符串。
三、工具
- 在Sublime Text里,使用双引号会导致一些高亮颜色失效。
四、易读性和易写性
- 使用某些字体时,单引号空字符串比双引号的空字符串更难辨认。
- 双引号造成更大的视觉干扰。
- 采用双引号就不必转义ASCII的单引号。
- 采用单引号就不必转义双引号。
- 大部分键盘布局都更容易打出单引号。(美国、中国、英国的键盘都更容易打出单引号,其他的键盘布局至少单引号和双引号需要同样次数的按键,不存在双引号更容易打的情况)
五、其他语言
- C语言使用双引号。
- 其他流行编程语言都用双引号。(如C#, Java, …)
- 英语散文的引用使用双引号。
为什么说这位zestyping是重量级人物?
因为他刚整理完各方观点,ambv就来say hi。
原来zestyping之前也为Python贡献过代码,ambv的black实际上还使用了zestyping贡献的lib2to3,所以ambv感谢了zestyping的贡献。
感谢归感谢,ambv还是逐条指出论据的瑕疵
Python官方文档更“喜欢”地采用单引号。Python标准库更多“喜欢”采用单引号。
ambv认为这两个论据不对。单引号是使用得更多,但官方并没有推荐任何一种引号。ambv很肯定大部分作者都不关心使用哪种引号。
Guido更倾向于使用单引号。
ambv说他跟Guido谈过心,这条也不对。Guido说他喜欢把双引号用在给人读的文本,把单引号用在数据上。
在Sublime Text里,使用双引号会导致一些高亮颜色失效。
ambv说”This make me sad”。这明明是一个bug,应该去修复它,怎么会成为支持单引号的论据?
相关阅读
-
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布局样式,需要的站长复制


