Python是如何跑起来的?从字节码说起

这里有一份为初学者准备的Python入门指南。

关注《Python学研大本营》

什么是编程?

你有没有想过你的电脑是如何工作的?计算机、手机或任何电子装置都只是普通的设备,不能独立完成任何事情。我们必须使这些设备变得有用。我们怎样才能做到这一点呢?这个问题的简单答案是--通过编程(当然,你需要一个电源来运行这些设备:P)。

所以,编程是给计算机下达指令,而电源是保持计算机开启和运行的一种模式。有一个简短的历史,说明我们是如何在编程中落地的,以及它的总演变。如果你有兴趣了解,那么你可以查看这个维基百科的链接。(https://en.wikipedia.org/wiki/History_of_programming_languages)

Python是众多编程语言中的一种,它被用来向计算机提供指令,以完成一项工作。例如,如果我想制定一个自动时间表,其中有一个待办事项清单,并在准确的时间自动提醒我那些待办事项,那么我可以使用Python来制定这个自动时间表。看吧! 它是多么好啊! 你不必担心背诵时间表。Python可以为你做这些和更多的事情。

为什么是Python?

Python是一种高水平的编程语言。Python很容易上手,在使用方面有很大的范围。Python有简单的概念,但有许多强大的概念。尽管Python很容易学习,但从长远来看,你会知道这种语言的潜力。那么,你能用Python做什么?举几个例子:

  • 用Python做数据分析。

  • 使用Python创建游戏(虽然使用的不多,但为了获得兴趣,开始时还是不错的)。

  • 创造人工智能的东西,如自动设备、自动驾驶汽车、人脸识别,以及更多。

  • 机器学习是基于Python和R的。

  • 使用Python开发网站,它不仅是单体的,也可以放到微服务中去。

  • 对于大数据分析,Python和PySpark被广泛使用。

另外,在当今的技术世界中,对Python编码员有巨大的需求,这使得Python成为学习和工作的三大编程语言之一。所以,让我们开始学习Python吧。

Python是如何工作的?

计算机不能理解我们的语言。也就是说,无论我们想让计算机做什么,或者我们向计算机提供什么指令,都必须转换为0和1,以便计算机理解并进行相应的工作。但是,我们人类并不以0和1的形式说话。所以我们需要一些能够为我们做转换的东西。

Python,就像Java、C等其他语言一样,为我们做这种转换。因此,无论我们在Python中写什么代码,我们都是用英语写的,然后这些代码(用英语写的)被转换为机器可以理解的0和1。这是对其功能的一个非常顶级的概述。

所以,有人已经为你做了艰苦的工作,教计算机了解你将用Python写的代码的含义。然而,这并不是在一个步骤中发生的。转换是分两步进行的,这也是有意义的。让我们看看它是如何完成的 -

Python代码的扩展名是.py,就像演示文稿有.pptx,图片有.jpg、.png等。为了编写Python代码,你需要一个集成开发环境(称为IDE),你可以在其中编写和运行代码。你也可以使用普通的记事本来写Python代码,但要确保文件的扩展名是.py,然后为了运行代码,你需要Python IDLE。现在,什么是Python IDLE?IDLE是Python的集成开发和学习环境,在这里你可以运行代码并立即看到每一行的输出(我们将在后面介绍)。

因此,我们可以看到,编写和运行Python代码是需要的。现在,你可以如上所述编写代码。然后,为了运行代码,你需要有IDE或IDLE。为什么会这样呢?因为这些东西是由编译器和解释器组成的。为了让计算机理解你用Python写的指令,代码必须被编译,然后被解释。那么这个编译和解释是什么呢?让我们来看看 。

编译器是一种机制,它将一次性地编译你的代码。编译代码意味着将整个代码转换为字节格式。编译器是一个预置的工具,随python的安装而来。现在,使用Python解释器对字节码进行解释,将代码转换成机器码。所以,解释器将字节码逐行转换(或者我们说解释)为机器码,而编译器将Python代码一次性转换(或者我们说编译)为字节码。现在,这个机器码是什么?这些只不过是0和1的指令格式。所以,转换过程是这样的。

为什么需要字节码?

拥有字节码对于代码共享是必要的。Python 编译器将代码编译成与机器无关的字节码,也就是说,你在哪台机器上并不重要 (无论是 Windows, Linux, 等等),你的字节码可以在任何机器上运行,只要你有该机器的 Python 解释器。听起来很困惑?让我们举个例子 -

假设有两个编码员A和B,A使用Windows,B使用Mac OS。但是他们必须在一个类似的项目上一起工作,因此需要共享代码。A写了一个计算学生总分的代码,然后编译了代码并生成了一个字节码。B要计算学生的平均分数。所以B拿起字节码,在IDE上运行,这样他就得到了总分计算程序,他只需要加上平均分程序。然后,B运行该程序,该程序被再次编译(因为添加了新的代码,所以它将与旧的代码一起被编译),并生成另一个字节码,然后被解释为机器代码,计算机或机器会给你需要的结果。所以,字节码是独立于机器的。编译器和解释器是独立于机器的,也就是说,你会在不同的操作系统上得到不同的python软件包和IDE。因此,这使得共享和工作变得更好。

现在你可能会想,为什么不分享原始的Python代码?好吧,我们确实通过Github、bitbucket等几个平台分享原始的python代码。然而,如果你必须在没有任何平台的帮助下传递代码,那么以字节码的形式传递是首选,因为该共享部分要进行编译(所以它节省了另一方的编译,这又节省了内存的使用),你的代码将是不可读的格式,因为字节码是人类无法阅读的。这只是代码共享的一个简单例子。然而,这种方法被用于几个重要的项目(这些项目也是秘密的)。

结论

你需要在你的系统中下载并安装Python,不管是windows、mac还是其他什么。你可以从这里找到它。(https://www.python.org/downloads/)下载最新的版本,在安装时按照说明进行。如果在安装时还没有标记 ‘Add to the path’ (添加到路径),请确保标记该框。这样就可以了! 你的系统中已经有了python。

进入搜索,然后在Windows中进入命令提示符(cmd)(在你的操作系统中进入各自的终端)。输入代码:

pip — version

python — version

这将显示你所下载软件包的版本。在路上你会了解到更多关于pip的信息。它基本上是一个Python安装包,在你安装Python的时候,它是与Python一起的。你不必担心 pip,现在可以开始探索 python了。

我们已经完成了Python的基本理论。现在我们可以开始编程了。让我们一起创造乐趣吧!

参考文章:

https://medium.com/@nishi.paul.in/an-introduction-to-python-e9aed91e1ec6

推荐书单

《Python从入门到精通》

购买链接:https://item.jd.com/13284890.html

《Python从入门到精通(第2版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Python进行程序开发应该掌握的各方面技术。全书共分23章,包括初识Python、Python语言基础、运算符与表达式、流程控制语句、列表和元组、字典和集合、字符串、Python中使用正则表达式、函数、面向对象程序设计、模块、异常处理及程序调试、文件及目录操作、操作数据库、GUI界面编程、Pygame游戏编程、网络爬虫开发、使用进程和线程、网络编程、Web编程、Flask框架、e起去旅行网站、AI图像识别工具等内容。所有知识都结合具体实例进行介绍,涉及的程序代码都给出了详细的注释,读者可轻松领会Python程序开发的精髓,快速提升开发技能。除此之外,该书还附配了243集高清教学微视频及PPT电子教案。

《Python从入门到精通(第2版)》可作为软件开发入门者的学习用书,也可作为高等院校相关专业的教学参考用书,还可供开发人员查阅、参考使用。

这本书有如下特色:

  • 循序渐进,实战讲述

  • 243集教学微课视频,39小时知识点精讲,可听可看,随时随地扫码学

  • 趣味解读,易教易学

  • 赠送Python实战训练背记手册

  • 在线解答,高效学习

    企业QQ、QQ群在线答疑,明日学院社区答疑。

    每周清大文森学堂在线直播答疑。

精彩回顾

可视化案例研究——以智利总统选举为例

用Python写前端是什么体验?

Python面试必须知道的15个问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值