知行编程网知行编程网  2023-01-11 11:30 知行编程网 隐藏边栏  6 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于为什么使用python3的相关知识,希望可以帮到处于编程学习途中的小伙伴

为什么要用python3


python2 str 对象的不确定性

'abcd'

如果你是 python3 用户,你会说它是一个包含“a”、“b”、“c”和“d”的字符串。

如果你是 python2 用户,你可能会说这是一个包含“a”、“b”、“c”和“d”的字符串,或者你可能会说它表示 97、98、99 和 100 个字节。

这意味着你必须非常小心地知道你的 str 对象是文本还是字节,否则你可能会在代码中埋下错误。

没错,只要你是一个足够细心,真正“合格”的程序员,这些问题都是有解决办法的。但!假设程序员是人是不现实的

就意味着一定会犯错!

推荐学习《


哲学层面的考量

设计任何适用于所有人的系统都需要在原子级别上格外小心和细节。

数据类型是编程语言最基本的组成部分。从哲学的角度来看,建造建筑物的原子具有这种不确定性是不可接受的!

Python之蝉 里面有一句话:

There should be one— and preferably only one —obvious way to do it.

为了完成一件事情,给开发者过多的选择是不好的,因为这可能会带来沟通成本和选择成本的增加,得不偿失。

python核心开发者 Brett Cannon 在他的一篇文章 Why Python 3 exists 中说:

And we made the change when we did because we figured the sooner the better.

the sooner the better ,一定要做的事越早越好。

但他也表示,从python2到python3这么大的“向后不兼容”变化不应该再发生,因为这对开发者确实不友好。


总结一下

Python2 str 对象的歧义,这种原子级别的歧义是不可接受的。

Python2 unicode 只是可选的,不是必需的。可选意味着没有人选择它。 Python3开始默认支持unicode。

the sooner the better ,必做的事尽早做。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享