函数
前面我们学了Python中最最基础的知识,
变量、表达式、运算符、注释、流程控制、数据类型,if、while、 for:
通过这些知识我们已经可以完成很多编写代码的工作了。
但是这些还不够,还有更好的编程方式等着我们去学习。
今天我们就来学习一种更好的编程方式——函数。学会了函数,你就向高级程序员走进了一大步。
现在我们先看一个例子:
在我们的日常工作中,少不了跟服务器打交道。为了保证服务器的正常运行,我们需要对服务器进行监控。
现在我们运用我们已经学到的知识来一个监控服务器CPU/内存/硬盘等硬件指标的程序,当这些硬件的使用率超过阀值的时候就给我们发邮件。
代码很简单、很快就写出了下面的代码:
while True: if cpu利用率 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 硬盘使用空间 > 90%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 if 内存占用 > 80%: #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接
我们看一下这段代码有什么问题。我们会发现发送邮件的代码被重复写了三次,每监控一个硬件,就需要把发送邮件的代码重复写一遍,这里我们监控了三个硬件,发送邮件的代码写了三遍;如果监控更多的硬件,我们就需要重复写更多次 发送邮件的 代码。
重复的事情,大家都不愿意做。那如何解决代码重复的问题呢?
大家看,如果我们将重复的发送邮件的代码提取出来,放在一个公共的地方,起个名字——发邮件,每次需要执行发送邮件的代码的时候,我们就执行发邮件这个名字,这样不就解决了代码重复的问题么。
def 发送邮件(内容) #发送邮件提醒 连接邮箱服务器 发送邮件 关闭连接 while True: if cpu利用率 > 90%: 发送邮件('CPU报警') if 硬盘使用空间 > 90%: 发送邮件('硬盘报警') if 内存占用 > 80%: 发送邮件('内存报警')
我们对比一下两次的代码,第二次的代码将重复的内容提取出来,起了个名字,后面要使用这段代码 只要使用这段代码的名字就可以了。
原来需要三步的代码,现在只需要一步就可以了。
我们还会发现,使用这种方式,如果我们要修改发送邮件的代码,只需要修改一处就可以了,而原来的方式需要修改多处才可以。这样让我们的代码更容易管理。
第二种方式的代码 帮我们解决了重复代码的问题,让代码变的简洁,简化了我们操作,也更易于管理。
那第二次这种组织代码的方式是什么呢?其实它就是我们马上要学的函数。
函数是一段代码的代码的组合,函数被定义以后,我们可以通过函数的名字,也就是函数名来执行函数中的代码。
那函数如何定义呢?这里我们先定义一个最简单的函数给大家看看
def hello(): print("Hello world.")
在第一行,我们使用 def 来定义了一个函数,接着是函数的名字,也就是函数名,之后紧跟一对圆括号,然后是一个冒号。冒号用来告诉python 接下来是一段代码。
执行函数很简单:
hello()
函数名后加一对圆括号,就可以执行函数。
执行函数也叫调用函数,调用函数的时候,函数名后面的圆括号必须存在。
函数可以简化我们的代码。在很多地方都会用到函数,
我们看到的网站上每个页面都会有等面的按钮,我们点击登陆的时候其实就是调用了一个登陆函数
我们的程序要记录日志,每次都要打开文件,写入内容,关闭文件,这里我们也可写一个函数。
前面我们学会了如何写函数,如果以后要修改发邮件的代码,比如说要增加邮件群发的功能,那我们该如何实现呢?
===============================================================================================
===============================================================================================
今天我们来学习函数,我们先说一个故事
小明一个程序员,小明的领导让他写一个监控服务器CPU/内存/硬盘等硬件指标的程序,
当这些指标超过阀值的时候就给小明发邮件。
小明想破了头,写出了下面的代码:
while True:
if cpu利用率 > 90%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
if 硬盘使用空间 > 90%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
if 内存占用 > 80%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
上面的代码实现了领导的要求,小明觉得自己第一次写,担心有问题,先找了教自己的帅老师给看看,帅老师看了之后说,你这样写不行啊,
你看你写的发邮件的代码重复了,每监控一个硬件,就要重复一写一边发邮件的代码,这样不好。
1. 重复代码太多,代码不够简洁、易读,太low
2. 如果以后要修改发邮件的代码,比如说要增加邮件群发的功能,每一处邮件的代码你都需要修改
小明迷惑的看着帅老师,依旧想不出如何避免这两个问题,这时,帅老师笑吟吟的对小明说,小明你看,如果我们把重复的代码提取到一个公共的地方,起个名字,以后谁想用这段代码,就通过这个名字使用这段代码,这样不就解决了上面两个问题了么。
来我们把代码改一下:
def 发送邮件(内容)
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
while True:
if cpu利用率 > 90%:
发送邮件('CPU报警')
if 硬盘使用空间 > 90%:
发送邮件('硬盘报警')
if 内存占用 > 80%:
发送邮件('内存报警')
我们对比一下两次的代码,第二次的代码将重复的内容提取出来,起了个名字,后面要使用这段代码 只要使用这段代码的名字就可以了。
这里用到的其实是我们马上要学的函数。
使用函数我们解决了上面两个问题
1. 解决了重复代码的问题,让代码变的简洁
2. 修改代码的时候,只需要修改一处就可以了,一处修改,多处使用,代码也更容易维护
函数是一段代码的代码的组合,函数被定义以后,我们可以通过函数的名字,也就是函数名来执行函数中的代码。
那函数如何定义呢?这里我们先定义一个最简单的函数给大家看看
def hello():
print("Hello world.")
在第一行,我们使用 def 来定义了一个函数,接着是函数的名字,也就是函数名,之后紧跟一对圆括号,然后是一个冒号。冒号用来告诉python 接下来是一段代码。就像 if 语句 ,while循环 和 for循环一样 。
执行函数很简单:
hello()
函数名后加一对圆括号,就可以执行函数。
执行函数也叫调用函数,调用函数的时候,函数名后面的圆括号必须存在。
函数可以简化我们的代码。在很多地方都会用到函数,
我们看到的网站上每个页面都会有等面的按钮,我们点击登陆的时候其实就是调用了一个登陆函数
我们的程序要记录日志,每次都要打开文件,写入内容,关闭文件,这里我们也可写一个函数。
其实我们在学习函数之前就已经接触过函数了,
我们用到的print() ,range()都是函数。
有同学可能会问了,这个咱们刚说的函数不一样啊,调用 print() ,range() 的时候 ,圆括号里要写一些内容啊。
这就要说我们函数的另外一个重要的知识——参数。
==============================================================================
第三次
==============================================================================
今天我们来学习函数,我们从一个故事说起。
现在想象一下你是一个程序员,你的领导让你写一个监控服务器CPU/内存/硬盘等硬件指标的程序,
当这些指标超过阀值的时候就给你发邮件。
你想破了头,写出了下面的代码:
while True:
if cpu利用率 > 90%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
if 硬盘使用空间 > 90%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
if 内存占用 > 80%:
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
上面的代码实现了领导的要求,你拿去给你的领导看,领导看后很不满意,但是没有生气,循循善诱的对你说
宝贝,你写的发邮件的代码重复了,每监控一个硬件,就要重复一写一边发邮件的代码,这样不好。
1. 重复代码太多,代码不够简洁、易读,太low
2. 如果以后要修改发邮件的代码,比如说要增加邮件群发的功能,每一处邮件的代码你都需要修改
你迷惑的看着你的领导,依旧想不出如何避免这两个问题,这时,领导笑吟吟的对你说,宝贝你看,如果我们把重复的代码提取到一个公共的地方,起个名字,以后谁想用这段代码,就通过这个名字使用这段代码,这样不就解决了重复的问题了么。
来我们把代码改一下:
def 发送邮件(内容)
#发送邮件提醒
连接邮箱服务器
发送邮件
关闭连接
while True:
if cpu利用率 > 90%:
发送邮件('CPU报警')
if 硬盘使用空间 > 90%:
发送邮件('硬盘报警')
if 内存占用 > 80%:
发送邮件('内存报警')
你崇拜的看着你的领导,领导对你说,想不想知道是怎么回事?晚上不要回家了,我带你去七天教你。
这里用到的知识,其实我们今天要讲是函数,
==============================================================================
==============================================================================
==============================================================================
python14期视频下载及观看
老男孩教育-新9月26日 18:46
链接:http://pan.baidu.com/s/1gf2TyiZ 密码:dd7j
解压码:98Wu(*zu*&ha飞雪解码qq:80042789 电话:13552612571
1、使用专用播放器播放:PBB Reader(群文件有)
2、小窗发送你的姓名和身份证号至飞雪授权激活。
3、点击申请激活-填上你的姓名和身份证号,即可观看
注:只可选定一台设备激活观看,暂不支持Mac系统(Mac可使用虚拟机观看)加密的文件会绑定您的设备,再次更换设备需重新绑定,等待时间为两到三天。
前三次绑定免费,超过五次不再提供绑定。
【如升级系统,更换硬件、CPU、内存、主板、管理权限、固态硬盘等等都会导致机器码变更,请不要随意改动】
Python15期
北京-飞雪9月26日 19:56
链接:http://pan.baidu.com/s/1qXIDpz2 密码:qjj3
解压码:……%A90w818wu
=======================================================
第二版_修改版
=======================================================
现在我们来学习函数。
函数是一段可以重复使用的代码。它其实就是给一段代码起一个名字,然后通过这个名字多次执行执行这段代码。
我们通过一个例子来学习函数,首先问大家一个问题:把大象关进冰箱分几步?三步。
第一步:打开冰箱 第二步:把大象放进去 第三步:关上冰箱 写成代码: print("打开冰箱") print("把大象放进去") print("关上冰箱")
如果我们每天都要做这件事情,还要把这件事情记录下来。我们会发现每次记录的内容都是重复的。
第一天记录的内容 print("打开冰箱") print("把大象放进去") print("关上冰箱") 第二天记录的内容 print("打开冰箱") print("把大象放进去") print("关上冰箱") 第三天记录的内容 print("打开冰箱") print("把大象放进去") print("关上冰箱") ..........
那我们给这组代码起一个名字——关大象。我们一说关大象这个名字就代表我们要做这三步。
关大象: print("打开冰箱") print("把大象放进去") print("关上冰箱") 第一天记录的内容 关大象 第二天记录的内容 关大象 第三天记录的内容 关大象 ..........
这里我们写明了 关大象 这个名字对应的三个操作,每次记录的时候只要写关大象这个名字就可以了。
大家想,这里我们重复使用 关大象 这个名字就是重复使用关大象需要做的三步操作,我们又知道函数是可以重复使用的一段代码,
那用函数来写一下这个过程就是:
def put(): print("打开冰箱") print("把大象放进去") print("关上冰箱") 第一天记录的内容 put() 第二天记录的内容 put() 第三天记录的内容 put() ..........
这里我们定义了一个 put() 函数,然后执行了这个函数。每执行一次 put() 函数,就表示我们做了 关大象 需要做的三步操作。
经过两次代码的对比,我们可以总结一下 如何定义函数。
在第一行,我们使用 def 来定义了一个函数,接着是函数的名字,也就是函数名,之后紧跟一对圆括号,然后是一个冒号。冒号用来告诉python 接下来是一段代码。就像 if 语句 ,while循环 和 for循环一样 。
def 函数名(): 代码段
使用函数也叫做调用函数。调用函数只需要在函数名后面加一对圆括号就可以了。

调用函数的过程:
第一步:程序读到要调用 put() 函数
第二步:跳到 put() 函数中的第一行代码
第三步:执行 put() 函数中的代码
第四步: put() 函数执行完毕,回到程序离开的位置,继续执行程序
通过上面的内容,我们可以看到,使用函数会有一些好处:
1. 不用写大量重复的代码,提高了效率
2. 方便代码的管理,一处修改,多处使用
3. 使代码更简洁、易读
===================================================================================================================
下面内容 废弃:
===================================================================================================================
今天我们学习函数函数。
讲课之前先问大家一个问题。
把大象关进冰箱分几步?三步。
第一步:打开冰箱
第二步:把大象放进去
第三部:关上冰箱
写成代码就是:
print("打开冰箱") print("吧大象放进冰箱") print("关上冰箱")
如果我们每天都要做这件事情并把把这件事情记录下来,我们会发现每次记录的内容是重复的。
现在我们给这组代码起一个名字——关大象。我们一说关大象这个名字就代表我们要做这三步,这样我们在记录的时候只需要写 “ 关大象 ” 就可以了。
写成代码就是:
def putElephant(): print("打开冰箱") print("吧大象放进冰箱") print("关上冰箱")
使用这段代码的方式是:
putElephant() # 执行结果: 打开冰箱 把大象放进冰箱 关上冰箱
其实,我们在这里定义了一个函数,并执行了这个函数。
根据上面的代码,我们可以总结出,函数的定义方式和使用方式:
def 函数名(): 语句组 # 执行函数 函数名()
Python中使用 def 来定义函数,后面在写函数名, def和函数名之间用空格隔开,
函数名之后是一对圆括号,圆括号后紧跟一个冒号;这一行下面就是我们要执行的语句.
执行函数时,只要函数名后跟一对圆括号就可以了。执行函数我们通常 叫做调用函数。
通过上面的内容,我们可以看到,函数本质上是一组代码的集合,他让我们避免了写大量重复的代码。
由此带给我们一些现在可以看到的好处:
1. 不用写大量重复的代码,提高了效率
2. 方便代码的管理,一处修改,多处使用
3. 使代码更简洁、易读
浙公网安备 33010602011771号