Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说自学Python进阶-把代码变成程序、软件,希望能够帮助你!!!。
之前的几篇,我们一起认识了python语言(python语言里有哪些东西),见识python代码(三种核心语句、程序代码里的记忆体:变量),并用python语言解决了几个著名的常见数学问题(百钱百鸡问题、闰年问题)。
怎么可以让python更好地解决自己的问题呢?当然是希望能用它做出像其它软件一样的程序,成为可以直接用的工具;不仅自己能够重复使用,还可以发给别人用。现在就讲讲这方面的知识。
前面讲过,python是跨平台的语言,写出的程序可以同时在windows,macOS,linux,甚至Android或iOS手机上运行,做一定的封装处理(程序员专业的说法是:系统兼容和机型适配)就可以开发跨系统的商用软件来。
无论你在哪个操作系统下运行python写的代码、程序,首先必须装作该系统下的python安装包 - 内含python解析器及一些工具和基础库。解析器的作用就是在我们运行自己写的代码时,把python语言代码翻译成操作系能执行的功能,从而完成我们期望的工作。python也因此被归类为解释型语言。
我们学习语言阶段,或完成功能单一的工作时,可以把所有的代码放在一起 - 保存在一个文件里,然后运行它。如果要制作功能复杂的大点工具,或软件系统,则需要把代码按照一定规则保存在多个文件里,甚至还要将它们分类放到多个目录里,再按照python语言定义的规则,调度执行它们。
我们现在主要学习python语言本身,实现些单一、具体的功能,因此都把代码放在一个文件里来讲解,上一篇的自学Python进阶-闰年问题就是这样的例子。
首先运行一个python代码文件最简单的方式,就如上次例子里讲的:直接在python自带的IDE里操作,具体见 自学Python进阶-闰年问题 的末尾部分。这个也是在widnow, macOS, ubuntu等各种系统下通用的方法。
其次,如果想脱离python默认IDE环境 - 更轻便、灵活的运行,则不同操作系统下有点区别,下面就分开讲讲:
1,windows系统下,我们一般都是双击一个文件或软件来运行程序的。将python写的程序保存并让扩展名为 .py 的文件,然后就可以双击运行了,这是因为在安装python解析器时,windows操作系统已经将 .py扩展名和 python解析器关联上来,双击时会自动调用。
2,在苹果操作系统macOS和linux操作系统(如ubuntu)下的运行,则和windows不一样。首先这两个系统环境下命令行方式运行python会更灵活些,其次这些系统对它里面的文件都有个属性:决定文件是否可被当作程序直接运行。
我们以计算闰年问题的代码文件名 leapYear.py为例,如果它没有执行权限,那么我们可以通过运行python解析器,再把文件名附在后面 - 当作参数,这样来运行:
打开命令行窗口,用 cd 命令进入到leapYear.py所在目录
python ./leapYear.py
如果有运行权限 - 这可以通过 chmod +x filename.py 给文件加上执行权限,则可以直接运行我们的代码文件:
打开命令行窗口,用 cd 命令进入到leapYear.py所在目录
chmod +x leapYear.py
./leapYear.py
仔细思考的话,会有个疑问:最后这种方法和前面的对比,操作系统怎么知道用什么来解析执行文件里我们写代码呢?这就对我们写的代码有一个特殊的要求:第一行内容指明运行本文件里下面代码所使用的解析器。python3语言代码文件的第一行写法通常如下:
#!/usr/bin/env python3
其中开头的两个字符"#!"是固定的,后面的需要根据你操作系统、安装软件的不同会有变化。如果你写的代码是其它解释型语言,通常也只是后面这部分不同。
到了这里,各种操作系统,各种环境下,我们都能让python解析器调用我们写的代码来执行命令了。但是如果要保证正常运行我们这个leapYear.py文件,还得对文件里面的代码格式有个特殊的要求,必须存在下面一样代码:
if __name__ == '__main__':
这行代码的作用就是告诉python解析器:此处是代码运行开始的地方,程序员称之为:程序运行入口。
#编程# #Python#
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。