Quantcast
Viewing all articles
Browse latest Browse all 9596

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

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

一点号零基础学编程14分钟前


Image may be NSFW.
Clik here to view.
php?url=0FaU0Cahb8" alt="0016 编程入门python之模块和进程" />
上节课作业

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

代码如下:


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

做成模块

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

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

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

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

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


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

在另一个文件里导入模块 使用import module1[,module2[,... moduleN] 来导入模块

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

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

具体代码如下:


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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

import random 引入一个模块random

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

日期和时间模块

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

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

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

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


Image may be NSFW.
Clik here to view.
0016 编程入门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命令来查看所有的当前正在运行的进程:


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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

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

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


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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

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


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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

如何杀死不用的进程

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

使用sudo kill -9 PID 这个命令

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


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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


Image may be NSFW.
Clik here to view.
0016 编程入门python之模块和进程

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

课后作业

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

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

往期教程

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

QQ群简介

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


Viewing all articles
Browse latest Browse all 9596

Trending Articles