iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python编程语言的核心是什么
  • 731
分享到

Python编程语言的核心是什么

2023-06-16 08:06:47 731人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python编程语言的核心是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 为什么问这个问题?我们需要一个用于

本篇内容介绍了“python编程语言的核心是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

 为什么问这个问题?

我们需要一个用于WEBAssembly的Python实现,这已经不是什么秘密了。它不仅将Python引入到浏览器中,而且由于iOSAndroid都支持将javascript作为应用的一部分运行,它也将Python引入到移动端。这一切都让我兴奋。

但是,当想到创建一个新的Python实现这一令人生畏的任务时,我的大脑也开始问这个问题:Python到底是什么?我们与CPython一起生活了这么长时间,我怀疑我们中的大多数人只是简单地认为“Python  ==  CPython”。PyPy试图做到兼容,以便实现CPython的实现细节。基本上,我所知道的大多数Python实现都努力通过CPython的测试套件,并尽可能地与CPython兼容。

这是令人生畏的。由CPython实现的Python是非常动态的,并且暴露了许多只有在使用解释器实现Python时才有意义的东西。例如,PyPy有一个用于JIT的基线解释器,但是在Python中可以使用许多东西来强制PyPy关闭JIT并坚持使用字节码。仅靠REPL就可以使事情变得非常动态,因为解释器会立即对进入REPL的所有内容进行动态解析、编译和执行。

这让我开始思考Python到底是什么?这门语言的核心是什么?所有的Python实现需要涵盖什么样的基线,才能真正能够将自己称为人们仍能认出的Python实现?或者从我的角度来看,一个人需要实现多少才能直接编译Python到WebAssembly,并且仍然被认为是Python实现?

Python编程语言的核心是什么

Python需要REPL吗?

真正让我开始思考这个问题的是当我开始思考如何将Python编译成WebAssembly?没有实现另一个解释器,但实际上发出静态WebAssembly从Python源代码,并仍然合理地称为“Python”。

我知道的一件事是,通过eval()或compile()进行动态编译可能不太容易,因为WebAssembly的安全模型在加载时验证模块。这就意味着在其他代码的内存空间中并不存在运行任意代码的结构,这可能会使REPL的实现变得棘手。

但这让我思考:Python真的需要REPL吗?不要误解我的意思,它非常方便,但是如果一个实现没有REPL,它就不再是Python了吗?我认为没有应答的Python仍然是Python,它只是缺少一个(潜在的关键)特性。

这让我开始思考Python的哪些部分需要被认为是“Python”?

没有当地人你能生活吗?它是一个非常动态的事情,能够任意地收集所有定义的局部变量和它们的值到一个字典。如果你在一个像CPython这样的intepreter中,你只需要从当前执行框架中获取一些局部变量。但是在编译语言中,这需要做更多的工作,因为您必须知道何时收集所有这些信息,因为调用local()时,这些信息并不一定是到处都有的。

或者人们重写local()本身怎么样?在CPython中,这不是什么大问题,因为builtins模块有一个__dict__,你可以覆盖它,它将简单地传播到任何未来的调用。但是在编译语言中,进行这种检测需要花费更多的精力,而且这样的检查最终会降低性能。

关于sys.settrace ()呢  ?它实际上会触发每个字节码的回调,如果代码被编译,它就不能正常工作。您可以通过检查是否在每一行后面设置了跟踪函数来伪造它,但是当您大多数时候没有设置这样的钩子时,这样做似乎有点过分(不过,它可能是在这种支持下编译的编译器标志)。

那么sys._getframe()呢?编译语言并不一定要直接访问执行框架,所以您需要费心去模拟它吗?由于执行帧可以被任何函数请求,所以您需要随时准备按需提供执行帧。

正如您所看到的,Python中有很多东西使得编译变得困难(Nuitka因此更有能力接受这个挑战)。但我敢打赌,我上面提到的东西你在99.9%的时间里都不会用到,所以如果一个实现没有使用它们,它还能被认为是“Python”吗?

有多少兼容性是有用的?

我对这个问题没有很好的答案。但是它的答案说明了实现Python的难度以及它与现有软件的兼容性。我想说的是,我认为WebAssembly不需要支持大量的Python软件就可以发挥作用。WebAssembly可以访问其他语言生态系统,比如Rust和JavaScript,所以用其他语言实现需要的东西的可能性绝对大于零。

我没有答案

开发一个将Python代码直接转换为WebAssembly并牺牲一些兼容性以提高性能的编译器可能是有意义的。开发一个以WebAssembly的设计为目标,同时又能保持与现有代码的兼容性的解释器可能是有意义的。在他们的WebAssembly努力中,简单地支持RustPython可能是有意义的。也许Pyodide能帮我们到达那里。我不认为这些可能性在本质上都是错误的,它可能只会归结为引起人们足够兴趣的那一个,从而看到它对别人有用。

“Python编程语言的核心是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python编程语言的核心是什么

本文链接: https://www.lsjlt.com/news/282855.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python编程语言的核心是什么
    本篇内容介绍了“Python编程语言的核心是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 为什么问这个问题我们需要一个用于W...
    99+
    2023-06-16
  • Go语言的核心编写语言是什么?
    标题:Go语言的核心编写语言是什么? Go语言是一种由Google开发的编程语言,被称为“云时代的C语言”。它具有高效的并发设计、简洁的语法和强大的性能,因此在云计算、大数据和人工智能...
    99+
    2024-04-02
  • C语言编程核心要点是什么
    这篇文章主要讲解了“C语言编程核心要点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言编程核心要点是什么”吧!C精简的语法集和标准库,让我们可以把精力集中到设计等真正重要的事情上来...
    99+
    2023-06-16
  • python中编程核心指的是什么
    这篇文章将为大家详细讲解有关python中编程核心指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而...
    99+
    2023-06-14
  • SQL语言中核心语句是什么
    这篇文章主要介绍SQL语言中核心语句是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SQL语言的核心语句是查询语句。SQL中有很多重要的语句,如【CREATE DATABASE】...
    99+
    2024-04-02
  • Python 3.1核心语言的变化是怎么样的
    Python 3.1核心语言的变化是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。这里我们将对Python 3.1核心语言的变化进行分析,包括字符串的格式化、说明符以及...
    99+
    2023-06-17
  • JavaScript核心语法是什么
    本文小编为大家详细介绍“JavaScript核心语法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript核心语法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新...
    99+
    2024-04-02
  • HTML5是Web中核心语言
    HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。HTML产生于1990年,1997年HTML4成为互联网标准,并广泛应用于互联网应用的开发。...
    99+
    2023-06-04
  • python是什么类型的编程语言
    Python是一种面向对象的动态、强类型的编程语言,是一门有条理的和强大的面向对象的程序设计语言。Python简单易用,学习成本低,看起来非常优雅干净;Python标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用。本教程...
    99+
    2023-05-14
    python
  • Python编程语言比C语言编程好用的理由是什么
    Python编程语言比C语言编程好用的理由是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们大家都知道Python编程语言在实际的运行中可以把相关程序分解为模块,但是...
    99+
    2023-06-17
  • 《Python核心编程》第五章
    5-1.整型。讲讲Python普通整型和长整型的区别?   答案:    在大多数32位机器上,标准整型的取值范围是-2^31~2^31-1,如果在64位机器上使用64位编译器编译的Python,则整型是64位的。而长整型能表示的数值仅仅与...
    99+
    2023-01-31
    第五章 核心 Python
  • Python核心编程第三版
    Python核心编程第三版高清版 PDF链接: https://pan.baidu.com/s/16jAUKZc3wHUoFZbPnhpVMw 密码: 2y8d ...
    99+
    2023-01-31
    第三版 核心 Python
  • c语言是什么编程语言
    c语言作为一种通用、结构化的编程语言,自诞生以来广泛应用于计算机领域。其基本特性包括结构化编程、过程式编程、底层访问能力、高效性能和跨平台性。在编程语言中,c语言是系统级编程的基石,也是...
    99+
    2024-03-14
    c语言 网络编程 作用域
  • go语言是什么编程语言
    go语言是是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go是一种过程编程语言,可用于快速机器代码编译;它提供了并发机制,可以轻松开发多核和联网的机器级程序;它提供对接口和类型嵌入的支持。本教程操作环境:...
    99+
    2023-05-14
    Golang go语言
  • Python核心编程的四大神兽
    本文将主要分为4大部分,分别介绍Python核心编程中的迭代器、生成器 、闭包以及装饰器。 生成器 生成器是生成一个值的特殊函数,它具有这样的特点:第一次执行该函数时,先从头按顺序执行,在碰到yield关键字时该函数会暂停执行该函数...
    99+
    2023-01-30
    神兽 核心 Python
  • hadoop的核心是是什么
    Hadoop的核心是一个分布式存储和计算框架,它允许用户在大规模集群上存储和处理大量数据。Hadoop包括两个主要组件:Hadoop...
    99+
    2024-04-02
  • [PYTHON] 核心编程笔记(11.P
    11.1 什么是函数函数式对程序逻辑进行结构化或过程化的一种编程方法,能够整块代码巧妙地隔离成易于管理的小块以下为创建,使用,或引用函数的方法:declaration/definition def foo(): print 'bar'fun...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记(17.P
    17.1 什么是因特网客户端17.2 文件传输17.2.1 文件传输因特网协议流行的有文件传输协议(FTP),Unix-to-Unix复制协议(UUCP),以及网页的超文本传输协议(HTTP),另外,还有(Unix下的)远程文件复制指令sc...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记(14.P
    在python中有多种运行外部程序的方法,比如,运行操作系统命令或另外的python脚本,或执行一个磁盘上的文件,或通过网络来运行文件在特定执行场景包括:在当前脚本继续运行创建和管理子进程执行外部命令或程序执行需要输入的命令通过网络来调用命...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • [PYTHON] 核心编程笔记(13.P
    13.1 介绍类与实例:类与实例相互关联,类是对象的定义,而实例是"真正的实物",它存放了类中所定义的对象的具体信息下面的示例展示如何创建一个类:class MyNewObjectType(bases):    'define MyNewO...
    99+
    2023-01-31
    核心 笔记 PYTHON
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作