Table des matières
回复内容:
Maison développement back-end Tutoriel Python Python 3 正在毁灭 Python 吗?

Python 3 正在毁灭 Python 吗?

Jun 06, 2016 pm 04:23 PM
bytes json python yaml

... Python 2最重要的一个优势在于拥有众多的第三方库,可以用来做任何事情,但是Python 3没有这个优势。诚然,有很多的库已经移植到Python 3了,但是有更多的库没有移植,也不容易移植。例如,你需要解析 X,但是X不像YAML和JSON那样容易解析。很可能有一个第三方的解析器可供选择,但是只可以用Python 2,而没有针对Python 3的移植版本。此外,加之Python 2中的字节字符串(str)和Python 3 中的字节字符串(bytes)之间有着功能上的差异,使得这更难移植。而事实上,移植它非常困难,并且需要很多的小技巧(trick)来兼容Python 2和Python 3。所以,你有两种选择,要么使用Python 2 (已经不建议使用的语言)快速的开发你的程序,但这会花费你十倍以上的时间去移植相关的库(以及所有的依赖)。要么,使用另一门同样拥有很多库的编程语言,但是不用再困扰于Python 2 / 3之间的问题。第二种选择显然不受欢迎,因为如果我们这样做了,在我们的生产环境中已经有很多Python 3的程序了并且大部分Python 2的库需要被移植。不管这些情况是否存在,人们要么继续使用Python 2开发程序,要么选择另一门不会打自己脸的语言...
文章链接:Python 3 正在毁灭 Python

回复内容:

谢邀。先总结一下该文观点
  1. Python 2.x的优势在于拥有众多的第三方库,虽然有很多库已经移植到Python 3.x,但也有很多没有移植,而且有很多库很难移植。
  2. 已有的Python 2.x项目可以无缝移植到Python 2.x的新版本上,而移植到Python 3.x上将更难,需要花费更多的人力物力。
  3. 大多数比较受欢迎并且支持兼容Python 2和Python3的库是通过运行在各自平台上的语言子集(subset)来写的。
  4. 最好的办法是Fork 2.7制作2.8,但官方却不支持这种做法。
该文作者说得很有道理,但我觉得Python 3.x并不会毁灭Python,会令Python社区变得更好。
  1. 第三方库现在越来越多库已经转向兼容Python 3.x,看PyPI上的列表pypi.python.org/pypi?。是有些库使用了所谓语言子集来实现兼容Python 2 & 3,或者是使用six这个module来帮助处理跨Py2和Py3的兼容问题,这些有可能会影响效率,但是,对于整个程序而言,相信核心模块的算法优化带来的性能提升会远大于这些损失。而且有2to3.py这个脚本可以帮助转换生成Py3 Only的脚本来发布,完全可以做到自动化。
  2. 如果是现有的项目,相信很多都还处理Py 2.4-2.6的阶段吧,相信连Py 2.7都不会到,何况更新的库。这些老旧代码,相信有一些库的升级版也不一定能支持到
  3. Python 3把bytes和str的行为分开,是一件好事,终于把一个历史遗留下来的错误fix了,居然有人说不好?
  4. Python 3每次升级都会带来新的stdlib,会fix掉一些错误,还可能会加入新的语法。比如Python 3.4.x里面新的asyncio库,最爱!
旧的项目,stays in Python 2。若你要开启一个新的项目,Why not choose Python 3? 新生代py程序员可能更愿意用py3,各种教辅资料也会慢慢转向py3。py2到3就是进步,C语言还几十年几乎不变呢。向下兼容可能成为发展的阻碍,看看Windows。Python依然是主流语言,随着py2停滞开发,py3必然会慢慢替代py2,不断加入新特性和修复以前的设计错误,使之成为更好用的工具。不能因为你习惯2,不想接受新东西就排斥3,没好处的,就像WinXP与win7,新软硬件很多已不再支持XP 如果python3改名叫python++可能就没争议了。。。 不会,python3只会毁灭python2,因为这本就是它出现的意义 Python3 开发了6年,毫无建树。Python3没有革命性的创新,又不向下兼容。
照这样折腾下去Python真的要灭亡了。

反观PHP这几年一直在蓬勃发展,命名空间,包管理,HHVM,PHPng,还有异步并行的Swoole。曾经Python说自己是下一个PHP。结果呢。。。

其他语言如Golang,Node.js也逐渐火起来了。Python还是那样不温不火。可以说Python3这6年真的是致命错误。 1 C++是一个和C完全不同的语言,但是它向下兼容C
2 看不出Python3有任何理由不兼容Python2的语法。因此,唯一可以解释的,就是Python官方希望像一个独裁者一样领导社区,“反对我的都去死”。 那么社区的回应就是“独裁者去死”。
3 Python3对于Python2的语言特性优势,根本不足以打动Python2社区。
4 既然Python开源,而且版权限制比GPL还弱, 那么一旦Python官方停止对2.x的支持,一定会有社区自发维护的版本,不会比官方做得差。
5 既然得罪了社区,那么得到的回应就会有很多开发者抵制Python3,坚决不会将他们开发的库升级到3 新手学,干下哪个版本啊? 因为我在c++界混了那么多年所以我很吊,所以你们该听我说说话:
python的优势就是库多,我能快速抄袭别人的库,从而瞬间开发。
然而python3不兼容我用的库。
什么,你说移植?那种脏活累活怎么能让我这么有经验,这么高贵优雅的人去干!!!
我建议你们赶紧fork出来一个我能继续用的版本,最好啥也不改,以便于我即能什么都不用改我的码,又能声称我用的是最新版本,以便装逼
其他人的建议都不值一提,你们要是不听我的,就会死的跟perl社区一样惨。
——作者精神概要 Python 3的原罪就在于break了back compatibility,并且没有成功的说服开发者为什么他们需要迁移到Python 3上来。

但要说Python 3会杀死Python我觉得实在是言过其实,Python的生态系统摆在那里,可能在一些方面被其他语言和技术超过,但是总体而言地位依然是稳固的,毕竟在大多数应用场景下,它的性能并不是一个大的问题。

不过负面影响总是存在的。Python 2.x于3.x这个胶着的状态,在社区造成了很大的分歧。而这个分歧拖下去的时间越长,对于Python未来的发展就越不利。为什么呢?因为其他竞争对手都在快速的演进。例如在最重要的web开发领域,node.js和Go正在吸引越来越多的注意力。特别是Go,syntax和Python差别不大,out-of-box的性能却高了不止一个数量级。这促使不少的开发者,尤其是那种愿意尝试新技术并且广为传播的(所谓的evangelist),在面对2to3这个选择的时候,索性直接将整个技术栈换成Go。

个人而言,为什么不愿意迁移到Python 3呢?一句话:Python 2 just works。Python 3缺乏让人眼前一亮,想要跃跃欲试的feature upgrade。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Y a-t-il une application mobile qui peut convertir XML en PDF? Y a-t-il une application mobile qui peut convertir XML en PDF? Apr 02, 2025 pm 08:54 PM

Une application qui convertit le XML directement en PDF ne peut être trouvée car ce sont deux formats fondamentalement différents. XML est utilisé pour stocker des données, tandis que PDF est utilisé pour afficher des documents. Pour terminer la transformation, vous pouvez utiliser des langages de programmation et des bibliothèques telles que Python et ReportLab pour analyser les données XML et générer des documents PDF.

Existe-t-il une application mobile qui peut convertir XML en PDF? Existe-t-il une application mobile qui peut convertir XML en PDF? Apr 02, 2025 pm 09:45 PM

Il n'y a pas d'application qui peut convertir tous les fichiers XML en PDF car la structure XML est flexible et diversifiée. Le noyau de XML à PDF est de convertir la structure des données en une disposition de page, ce qui nécessite l'analyse du XML et la génération de PDF. Les méthodes courantes incluent l'analyse de XML à l'aide de bibliothèques Python telles que ElementTree et la génération de PDF à l'aide de la bibliothèque ReportLab. Pour le XML complexe, il peut être nécessaire d'utiliser des structures de transformation XSLT. Lorsque vous optimisez les performances, envisagez d'utiliser multithread ou multiprocesses et sélectionnez la bibliothèque appropriée.

La vitesse de conversion est-elle rapide lors de la conversion du XML en PDF sur le téléphone mobile? La vitesse de conversion est-elle rapide lors de la conversion du XML en PDF sur le téléphone mobile? Apr 02, 2025 pm 10:09 PM

La vitesse du XML mobile à PDF dépend des facteurs suivants: la complexité de la structure XML. Méthode de conversion de configuration du matériel mobile (bibliothèque, algorithme) Méthodes d'optimisation de la qualité du code (sélectionnez des bibliothèques efficaces, optimiser les algorithmes, les données de cache et utiliser le multi-threading). Dans l'ensemble, il n'y a pas de réponse absolue et elle doit être optimisée en fonction de la situation spécifique.

Comment convertir les fichiers XML en PDF sur votre téléphone? Comment convertir les fichiers XML en PDF sur votre téléphone? Apr 02, 2025 pm 10:12 PM

Il est impossible de terminer la conversion XML à PDF directement sur votre téléphone avec une seule application. Il est nécessaire d'utiliser les services cloud, qui peuvent être réalisés via deux étapes: 1. Convertir XML en PDF dans le cloud, 2. Accédez ou téléchargez le fichier PDF converti sur le téléphone mobile.

Quel est le processus de conversion de XML en images? Quel est le processus de conversion de XML en images? Apr 02, 2025 pm 08:24 PM

Pour convertir les images XML, vous devez d'abord déterminer la structure des données XML, puis sélectionner une bibliothèque graphique appropriée (telle que Matplotlib de Python) et la méthode, sélectionner une stratégie de visualisation basée sur la structure de données, considérer le volume de données et le format d'image, effectuer un traitement par lots ou utiliser des bibliothèques efficaces, et enfin les enregistrer sous le nom de PNG, JPEG, ou SVG selon les besoins.

Outil de mise en forme XML recommandé Outil de mise en forme XML recommandé Apr 02, 2025 pm 09:03 PM

Les outils de mise en forme XML peuvent taper le code en fonction des règles pour améliorer la lisibilité et la compréhension. Lors de la sélection d'un outil, faites attention aux capacités de personnalisation, en gérant des circonstances spéciales, des performances et de la facilité d'utilisation. Les types d'outils couramment utilisés incluent des outils en ligne, des plug-ins IDE et des outils de ligne de commande.

Comment embellir le format XML Comment embellir le format XML Apr 02, 2025 pm 09:57 PM

L'embellissement XML améliore essentiellement sa lisibilité, y compris l'indentation raisonnable, les pauses-lignes et l'organisation des étiquettes. Le principe est de traverser l'arbre XML, d'ajouter l'indentation en fonction du niveau et de gérer les balises et les balises vides contenant du texte. La bibliothèque XML.ETREE.ElementTree de Python fournit une fonction Pretty_xml () pratique qui peut implémenter le processus d'embellissement ci-dessus.

Comment contrôler la taille de XML converti en images? Comment contrôler la taille de XML converti en images? Apr 02, 2025 pm 07:24 PM

Pour générer des images via XML, vous devez utiliser des bibliothèques de graphiques (telles que Pillow et JFreechart) comme ponts pour générer des images basées sur des métadonnées (taille, couleur) dans XML. La clé pour contrôler la taille de l'image est d'ajuster les valeurs de & lt; largeur & gt; et & lt; height & gt; Tags dans XML. Cependant, dans les applications pratiques, la complexité de la structure XML, la finesse du dessin de graphiques, la vitesse de la génération d'images et la consommation de mémoire et la sélection des formats d'image ont tous un impact sur la taille de l'image générée. Par conséquent, il est nécessaire d'avoir une compréhension approfondie de la structure XML, compétent dans la bibliothèque graphique, et de prendre en compte des facteurs tels que les algorithmes d'optimisation et la sélection du format d'image.

See all articles