0016 编程入门python之模块和进程

0016 编程入门python之模块和进程_第1张图片

上节课作业

1.修改输入一个年月日日期,输出是星期几的程序,闰年判断做成函数,统计天数作成函数,星期计算做成函数

代码如下:


0016 编程入门python之模块和进程_第2张图片


0016 编程入门python之模块和进程_第3张图片

2.求图形面积函数增加平行四边形,梯形


0016 编程入门python之模块和进程_第4张图片

做成模块

前面这个求各种图形面积的程序,如果后续陆续要增加更多的图形,则会导致这个程序越做越长,看起来很不方便

并且还有一个需求无法满足,假如有2个同学在做这个项目,一个人已经做好了3个图形的计算方法函数,另外一个人做好了2个图形的计算方法,怎样才能更方便的将2个人的代码整合到一起呢?假如有更多的人在做更多的图形,而且使用函数的也是其它的更多人,那么如何组织这些代码才能更有逻辑呢?

模块能够让你更有逻辑的组织你的python代码块。

简单的说,模块就是一个保存了python代码的文件。模块能够定义函数,类和变量。模块里也能包含可执行的代码。

将上面这个包含了5个图形计算面积函数的文件另存为area.py,然后只保留这5个函数,将其它代码删除:


0016 编程入门python之模块和进程_第5张图片

在另一个文件里导入模块

使用import module1[,module2[,... moduleN] 来导入模块

例如刚才做好了area.py,要导入这个模块,则在代码前面使用import area 来完成

然后使用 area.triangle(base,high) 来访问模块里面的函数

具体代码如下:


0016 编程入门python之模块和进程_第6张图片

还记得以前我们曾经导入过一个模块random吗

import random 引入一个模块random

random.randint(1,99) 生成一个1到99范围之内的随机整数

日期和时间模块

使用import time来导入日期和时间模块,来处理常见的转换日期格式问题

时间间隔是按照秒为单位的浮点小数

每个时间戳是从1970年1月1日0点0分0秒经过了多长时间来表示

比如要表示一个当前时间的时间戳,可以在python里面运行如下代码:


这个时间是用于电脑存储和计算的,但是对于人类来说并不友好,所以,一般会通过函数将这个时间戳转换为人类熟悉的格式

运行如下代码进行体验:


这里是用time.localtime()函数来获得当前的本地时间戳,然后用strftime函数将时间戳转换为显示格式

其中的%Y表示用4位数的年,%m表示月份01-12,%d表示月内的一天0-31,%H表示24小时数0-23,%M表示分钟数00-59,%S表示秒00-59

还有很多其它格式参数,具体内容大家可以自行去网上搜索。

time模块还有很多函数,常用的有time.sleep(seconds),表示暂停程序几秒钟,在python里面输入time.sleep(5)体验一下暂停5秒钟的感觉

time其它时间函数,请大家自行去网上搜索后在python里面进行体验。

进程的概念

计算机系统会启动很多程序,但这些程序不一定在当前界面能看到,比如启动一个python程序,假设这个程序一直在运行不退出,然后我们并没有停留在终端界面,就不一定会看到这个程序在运行,我们把这可以称之为进程。

在树莓派系统里面,可以在LX终端程序里面用sudo ps aux命令来查看所有的当前正在运行的进程:


0016 编程入门python之模块和进程_第7张图片

注意其中PID这一列就是进程ID

如果要搜索包含指定名字的进程,则可以使用sudo ps aux|grep 名字

例如,要搜索有几个包含python的进程,使用sudo ps aux|grep python


0016 编程入门python之模块和进程_第8张图片

如果只看到最后一行 包含了 grep 这一行,表示是搜索程序本身,表示当前进程里面没有包含python的进程

然后我们再打开另外一个LX终端,在里面运行python,进入python环境


0016 编程入门python之模块和进程_第9张图片

然后回到刚才的上面这个LX终端,再次运行sudo ps aux|grep python


0016 编程入门python之模块和进程_第10张图片

会发现搜索结果里面多了一个PID等于1913的进程,运行的是python程序。

如何杀死不用的进程

在某些情况下,进程一直在运行,可能是进入了死循环,这时候,常规办法可能无法删除掉这个进程,可以用下面的办法强制杀掉进程

使用sudo kill -9 PID 这个命令

例如,上面的python进程PID为1913,就运行sudo kill -9 1913杀掉python进程,然后再次查看进程,发现没了该进程:


0016 编程入门python之模块和进程_第11张图片

此时,再切换到另外一个LX终端窗口,发现python程序被杀死强制被退出了:


0016 编程入门python之模块和进程_第12张图片

今天的课程,主要讲的就是如何定义模块,如何使用模块,以及如果碰到死循环程序如何查询杀掉进程。

课后作业

1.写一个死循环程序,循环内部每次sleep 3秒,运行该程序,然后强制退出程序,杀死该进程

2.网上寻找datetime函数包的用法,用2行代码重写输入年月日输出星期几(中文)

往期教程

因为教程是系列教程,前后关联性非常强,请大家按照微信公众号【零基础学编程】的历史消息发布时间先后次序进行阅读。

QQ群简介

欢迎大家加入QQ群 603559164 零基础学编程,交流学习,共同进步。

你可能感兴趣的:(0016 编程入门python之模块和进程)