之前的几篇,我们一起认识了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编程中

#编程# #Python#

gallery代码怎么运行_自学Python进阶-把代码变成程序、软件相关推荐

  1. 程序阅读_全面详解LTE_MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读

    程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(2)OFDM_程序阅读 本章详细阅读 LTE 标准中的 OFDM 帧结构和实现,讨论 OFDM信号的时-频映射和多种适应信道带宽的资源元 ...

  2. python苦逼_自学Python编程的第六天(最后代码有更好的请告诉我)----------来自苦逼的转行人...

    2019-09-16-23:09:06 自学Python的第六天,也是写博客的第六天 今天学的内容是有关dict字典的用法 看视频加上练习,目前还没遇到有难点,但是感觉很不好的样子 没有难点以后突然出 ...

  3. python一直循环怎么写_自学Python,写一个挨打的游戏代码来初识While循环

    自学Python的第11天. 旋转~跳跃~,我~闭着眼! 学完循环, 沐浴着while的光芒,闲来无事和同事一起扯皮, 我说:"编程语言好神奇, 一个小小的循环,竟然在生活中也可以找到原理和 ...

  4. python画爱心的代码怎么运行_怎么用python实现画爱心

    Python中可以使用turtle库来画图,通过控制画笔运动来实现在画布上画图案. 使用Python画爱心代码如下:#!/usr/bin/env python # -*- coding:utf-8 - ...

  5. 自学python书籍_自学python看什么书

    俗话说:工欲善其事,必先利其器!对于零基础入门的人来说,对于Python的学习还是有点懵懵懂懂的,如果有一些书籍先看看来引导,学起来难度也会减低很多,同时会提高学习者的自信心!今天向推荐这些零基础入门 ...

  6. 自学python 编程基础知识_自学Python的学习顺序,知识要点!附学习资料

    自学Python要按照什么样的学习顺序?首先要有一个详尽的学习大纲,对于学习Python的各种知识点要安排的详略得当,做到由易到难,循序渐进,才能长久的坚持学下去.除了基础的理论知识,项目实战也是自学 ...

  7. python爬取网页上的特定链接_自学python爬虫二:如何正常操作urllib2通过指定的URL抓取网页内容...

    所谓网页抓取, 就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源. 在P ...

  8. python苦逼_自学Python编程的第十天(希望有IT大牛看见的指点小弟我,万分感谢)---------来自苦逼的转行人...

    2019-09-20-23:24:15 今天逛论坛.逛知识星球时.逛b站up主时,都说到低学历,非科班的人最好不要去自学Python 他们都说:如果我们学python是为了找工作,最好不要把pytho ...

  9. 自学python能成功吗_自学Python之路一

    从事ios开发有快两年的时间,之前没有养成自己写博客的习惯,只是看别人写的博客.在工作闲暇时看到关于开发语言的排行,python正在慢慢上涨,自己就想自学一下.也开通了博客来记录自己自学的过程. 学习 ...

最新文章

  1. 博弈入门学习的博客[资源汇总]
  2. access后台链接mysql_ASP.NET连接 Access数据库的几种方法
  3. Android打包编译shrinkResources true报错解决方案
  4. Docker之Docker网络讲解
  5. 海量数据挖掘MMDS week4: 推荐系统之隐语义模型latent semantic analysis
  6. 提高Android应用辅助功能的方法Accessibility
  7. win10设置HTML桌面背景,win10系统怎么更换桌面壁纸?windows10更换桌面壁纸的方法...
  8. springboot vue3 elementui plus点餐外卖系统源码
  9. python 如何判断一个三位数是不是水仙花数
  10. 组合数学之三 —— 生成函数
  11. 在 LaTeX 中插入表格
  12. Ubuntu下编译pcsx2要用到的包
  13. android6.0 来电流程,Android4.22来电铃声流程
  14. IOC 回顾 | 踏扁舟一叶 逐野鹤 行广阔
  15. 在单机上通过docker搭建redis集群试验
  16. 青岛小学 初中有计算机编程比赛,青岛市电脑制作活动 程序设计竞赛 一等奖...
  17. 数学建模用python好吗_用 Python 做数学建模
  18. [小知识] 获取浏览器UA标识
  19. Mask RCNN -- Mask Scoring R-CNN
  20. 【Paraview教程】第一章安装与基础介绍

热门文章

  1. 区块链“国家队”上新,天津重磅发布自主可控区块链系统“海河智链”
  2. 实战:基于OpenCV进行长时间曝光
  3. 求求了!让 Python 的热搜消失吧!!
  4. 一行 Python 代码能实现这么多丧心病狂的功能?
  5. 疾速激爽,电竞玩家的心仪之选:AMD 锐龙 5000 系列登场!
  6. Kafka 和 RocketMQ 底层存储之那些你不知道的事
  7. 物联网火爆,开发者遇到大难题了!
  8. CSDN总部落户长沙,共建中国开发者产业中心城市!
  9. 这才是设计 React 的万金油!
  10. 程序员离不开这 7 大编程方法!