zoukankan      html  css  js  c++  java
  • 3.python编程与计算机的关系,如何执行python文件

    上一节预告了这一章想讲如何不停地和世界打招呼,这涉及到编程中一个重要的概念:循环。

    但经过了两周断更后细想了一下,不行,我们得对上一章进行补充。

    我们觉得学编程的时候不能太固化,得多学一些扩展性的东西,这样有助于触类旁通。

    所以就尽可能多讲当初阿菌自己学习编程的时候想了解的东西,比如这章会介绍一下我们写代码和计算机运行代码之间的关系。

    上一集我们讲了如何下载python和编辑工具vscode。

    安装python很好理解,毕竟安装了python,才能使用python;而编辑工具,大家可以随意选用。

    当时阿菌学的时候,就不太了解上面那句,什么叫“编辑工具可以随意用”?

    没有骗大家,当年呆头呆脑的阿菌一直以为,只有用老师指定的软件,才能写代码......

    这样,我们先从一个大的角度解释一下我们表面写的python代码,背后实际都是些什么东西。

    首先我们要知道,写代码,就是让电脑,按照我们编写的指令(软件)去干活。

    我们的电脑,它由各种各样的部件组成,比如内存呀,显示器什么的,这些东西,它们自己是不会工作的,我们也需要写指令(软件)让它们协同工作起来。

    让各种电脑部件协同工作起来的指令(软件),我们把它叫操作系统。

    没错,操作系统也是一个软件,只不过,它是一个很大型的软件。想成为世界首富么?想的话可以考虑学习盖茨,开发一套像 Windows 这样全世界都用的操作系统,当全世界人民都用你的操作系统时,就能当首富啦。

    当然这只是开玩笑啦,毕竟不是每个人都是天选之子。想要颠覆前辈创垫下的格局,得有两把刷子,比如说像乔布斯老爷子,开发一套更炫酷的苹果操作系统。

    不过,大家一定要明白,编程语言的学习,和操作系统是无关的。

    重要的概念要再说一遍哈,我们只是编写指令让电脑为我们工作。比如说,我们现在学习 python 语言,写的是python 指令。不知道大家还记不记得,上一节课里,我们在正式学习python之前,是需要到 python 官网下载安装 python 的(确切点说应该是安装一个python解释器),不知道大家有没有思考过为什么要安装这个东西?

    想问题要多从反面想。如果不安装 python 软件(解释器)会怎样?

    不安装 python 直接面临的问题是:我们写的 python 代码,操作系统它看不懂。因为每个操作系统的指令集都不一样。

    看不懂自然就没办法执行。

    操作系统不执行,我们的机器就不能响应我们的指令。

    所以我们要去下载安装一个对应自己操作系统的软件包,这个软件包里面有 python 解释器,它能够将我们的 python 代码,转化成我们对应操作系统能执行的代码,这样机器才能响应我们的代码。

    现在大家明白,为什么我们到官网下载软件的时候,Windows 的下载 Windows 版本的安装包,Mac 下载 Mac 版本的安装包了吧?

    停!肯定有好奇宝宝会问:

    为啥我们不直接写机器能看懂的代码呢?

    大家可以看看上面的图,编程语言很好懂的,见名知意。比如print是打印输出的意思,我们想要输出Hello World,直接调用print就行了。而机器能看懂的语言,可就复杂多了,阿菌这里给出的是汇编代码,再深入一点可就是 0101 的机器码了,那个可不是我们能手写的。

    回到正题,我们下载了相应系统版本的安装包,比如我的是 Mac 系统,这样 Mac 版的 python 包就能把我的 python 代码转化成 Mac 操作系统对应的执行指令。这样一来,我的 python 代码就能控制我的 mac 系统了!

    其他操作系统也是一样的道理。

    估计会有好奇宝宝问:这个转化的过程是怎么样的?

    这貌似又能更新一个专题了,不过,这个可能会枯燥很多,这门课大概叫编译原理。初学的话,建议大家先别深入这个,要不然很快就劝退了,可以考虑先跟着阿菌的教程,打点基础,做点小项目,逐步培养信心,等基础和知识面广了之后,很多东西会轻松很多的。

    好啦,现在大家知道我们说的写代码是个什么概念了,接下来回顾一下,我们上一节写的第一行代码:

    print("Hello world!")
    

    对了,大家要记得写代码时一定要切换到英文模式写,中文格式下的括号呀,双引号呀什么的是不能被识别的。

    这行代码的结构是怎样的我们先不管,上节课我们演示的是,在 vscode 这个代码编辑工具里,点一下右上角的小播放号就能执行:

    这个文件,当初我是保存在桌面一个叫python-study的文件夹里的,现在我们回答这篇文章开头提到的问题:

    什么叫“编辑工具”可以随意使用?

    上一期里,有小伙伴提出可以不用 vscode,使用别的工具。确实,有很多比 vscode 好用的工具,大家以后可以随心选择。

    阿菌当初时的这个疑惑,就是受限于:老师用了什么软件写代码,偶就用什么软件跟着敲,没有搞明白自己究竟在做什么东西。

    当时期望的就是有人能讲讲上面的内容,这样点一点就能把写代码和计算机的关系串起来了。

    有了这些铺垫之后,我们尝试进入我们的工作目录,也就是当初建立在桌面的文件夹python-study,当然,这个文件夹的名字大家可以随便起(建议取英文名字,要不然以后有点点可能会在不留意的地方带来一些小错误),自己记得就好啦。

    我们创建一个.txt文件,取名叫helloworld2,系统会默认给我们创建一个带.txt后缀的文本文件(当然文件的名字也可以随便取,最好用英文哈):

    然后我们打开这个文件,在里面写入我们向世界打招的代码:hello world!

    阿菌的教程用 Windows ,这样群众基础会更广泛一些。

    写完后记得ctrl + s保存,然后再退出哈!

    然后我们回到python-study目录:

    由于我们的文件夹里面写了字符,所以文件的大小不再为0了。

    接下来我们按F2,重命名文件,把helloworld2.txt,改成helloworld2.py

    他会提示我们可能会导致文件不可用,问我们是否确定更改,我们点击是。

    这个小环节估计能有助于大家理解:什么叫“编辑工具”可以随意使用?

    Windows 创建的文本文件默认是 .txt结尾的文件,这个可以用Windows自带的文本编辑工具打开,这个文本编辑工具,也可以是代码编辑工具。

    我们只要有一个工具,提供一个窗口,让我们把我们想写的字符输入到文件里就行了。

    至于文件末尾的后缀名,管他呢,我们写的是一个python脚本,这个我们自己知道就行,不需要管电脑的提示,是我们让电脑干活。

    然后我们在电脑左下角的搜索框中搜索cmd,打开命令提示符窗口(Mac叫终端),我们可以通过这个黑窗口操作我们的操作系统。

    然后输入指令cd Desktop,输入后按回车:

    可以看到,我们光标前面的路径多了一个Desktop的标签,意味着我们进入了这个目录。

    然后,我们输入cd python-study进入工作目录:

    接着,我们输入指令dir,查看一下工作目录下有哪些文件或文件夹(在之前的目录中也可以尝试用cls查看一下):

    可以看到我们已经编辑好的两个代码文件,接下来我们用 python 指令去运行我们的 helloworld2.py,我们输入python helloworld2.py(一些操作细节请看视频,mac 和 windows 通用的):

    可以看到我们的 python 代码被操作系统执行了,同样向世界打了个招呼。

    现在大家能明白,代码文件,编辑工具,操作系统之间的关系了吧?

    我们回到 vscode,我们刚刚不是向世界打过一次招呼了么,vscode 下方也有一个命令行:

    我们不妨把上面的步骤再重复一遍,输入指令cd Desktop/python-study,cd 是进入某个文件夹的意思,我们当前在liuyj目录,也就是阿菌自己的用户根目录下,大家可以在根目录下用dir指令查看一下的,能看到 Desktop 这个表示桌面的目录,然后再次执行helloworld2.py

    同样是向世界打了个招呼!

    大家再留意一下上面那串很长的黄色字符,在第二节教程中,我们点了vscode右上角的小播放号后,就执行了这行指令,这行指令的结构其实也是python xxx

    只不过它把python执行文件具体在操作系统的那个位置全写出来了。

    肯定会有好奇宝宝接着问:咦?为什么这个按键背后的指令要写这么仔细的路径,而我们只需要敲一个单词python就可以了呢?

    这就涉及到一个知识点,叫环境变量。

    我们想要执行python脚本,需要找到C:/Users/liuyj/AppData/Local/Programs/Python/Python37/python.exe这个可执行文件。

    每次我们输入:python xxx的时候,实际上系统会帮助我们去磁盘上找到上面的可执行文件。

    这个可执行文件的路径,python在安装时就帮我们配好了。

    想起当年学java的时候,第一步就是要配这个东西。

    不知道小伙伴们会不会有一种冲动:或许我也可以参照vscode写一个最简单的代码编辑器呢!就一个框框,右上角加一个运行按钮。

    虽然实现起来会有很多复杂的细节,但我们也不妨思考一下的,比如阿菌会这样想:首先我们得创造出一个窗口,这个窗口的实现不需要我们写的,不管是python还是java,都有相应的图形界面功能。所以,这个小功能的关键点在于运行按钮。

    或许可以这样:我们先读取系统变量的配置,然后获得python可执行文件的路径,接着把编辑框的内容写到一个python文件里(如果是打开已有文件就不需要了),然后执行指令就可以了。

    好啦,第三章到这里就结束啦,感谢大家的支持。

    1.关于Python学习的误区、python的优缺点、前景

    2.python的下载与安装,和世界打个招呼

  • 相关阅读:
    Java多线程_同步工具CountDownLatch
    Java多线程_Semaphore信号量
    Java多线程_ReentrantLock
    Java多线程_CAS算法和ABA问题
    Java多线程_Atomic
    Java多线程_生产者消费者模式2
    Java多线程_生产者消费者模式1
    Java多线程_阻塞队列
    Java多线程_wait/notify/notifyAll方法
    Java多线程同步_synchronized
  • 原文地址:https://www.cnblogs.com/tanshaoshenghao/p/15117019.html
Copyright © 2011-2022 走看看