python 【第三篇】:函数及参数

1.函数的理解:

在学习函数之前,一直遵循:面向过程编程:

根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复制到现需功能处,如下:

 1 while True:
 2     if cpu利用率 > 90%:
 3         #发送邮件提醒
 4         连接邮箱服务器
 5         发送邮件
 6         关闭连接
 7
 8     if 硬盘使用空间 > 90%:
 9         #发送邮件提醒
10         连接邮箱服务器
11         发送邮件
12         关闭连接
13
14     if 内存占用 > 80%:
15         #发送邮件提醒
16         连接邮箱服务器
17         发送邮件
18         关闭连接

分析可以看出如下:

1.除了判断条件是不同之处外,所有的其他信息都是相同的。

2.能不能将这些代码归并成一个,减少重复的代码?

3.函数?

 1 def 发送邮件(内容)
 2     #发送邮件提醒
 3     连接邮箱服务器
 4     发送邮件
 5     关闭连接
 6
 7 while True:
 8
 9     if cpu利用率 > 90%:
10         发送邮件(‘CPU报警‘)
11
12     if 硬盘使用空间 > 90%:
13         发送邮件(‘硬盘报警‘)
14
15     if 内存占用 > 80%:

思考如下:

1.相同之处被单独放到了一个函数里面,减少了代码量,增强了可读性。

2.是不是之后如果遇到发邮件的需求,可以直接将这个函数直接copy复用,或者调用呢?增强了复用性。

3.函数里面传了参数,参数如何用?

函数式编程和面向过程编程的区别:

  • 面向过程:根据需求一行一行垒代码!代码逻辑从上往下、并且功能都是一个完了之后下一个才能执行。代码重复、不易修改重用性差!
  • 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
  • 面向对象:对函数进行分类和封装,让开发“更快更好更强...”

2.函数的定义:

函数式编程最重要的是增强代码的重用性和可读性。

1 def 函数名(参数):
2
3     ...
4     函数体
5     ...

函数的定义主要有如下要点:

  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据,默认返回None。

1、返回值

函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。

 1 def 发送短信():
 2
 3     发送短信的代码...
 4
 5     if 发送成功:
 6         return True
 7     else:
 8         return False
 9
10
11 while True:
12
13     # 每次执行发送短信函数,都会将返回值自动赋值给result
14     # 之后,可以根据result来写日志,或重发等操作
15
16     result = 发送短信()
17     if result == False:
18         记录日志,短信发送失败...

2.参数

参数,参数,参数,重要的事情说三遍,但是这是啥米东西?

 1 复制代码
 2
 3 def CPU报警邮件()
 4     #发送邮件提醒
 5     连接邮箱服务器
 6     发送邮件
 7     关闭连接
 8
 9 def 硬盘报警邮件()
10     #发送邮件提醒
11     连接邮箱服务器
12     发送邮件
13     关闭连接
14
15 def 内存报警邮件()
16     #发送邮件提醒
17     连接邮箱服务器
18     发送邮件
19     关闭连接
20
21 while True:
22
23     if cpu利用率 > 90%:
24         CPU报警邮件()
25
26     if 硬盘使用空间 > 90%:
27         硬盘报警邮件()
28
29     if 内存占用 > 80%:
30         内存报警邮件()

无参数示例

时间: 2024-10-18 11:38:41

python 【第三篇】:函数及参数的相关文章

怒学Python——第四篇——函数与模块

Python的函数:其实和C++非常类似,不过由于是弱类型的语言(用起来感觉是......),把那些类型声明都去掉了,传的是值不是引用(至少2.7是),有一点点小区别是前面必须加def来定义(好像宏定义的样子......),下面给出示例 def sum(a, b): #sum为函数名,注意冒号...... c = a + b #这一部分是函数的语句块 return c #到这里函数就结束了,和C++一样 print sum(1, 2) #根据函数名调用函数,输出1+2的值 这里也有lambda函

怒学Python——第三篇——结构控制

众所周知,程序语句运行的结构无非是顺序结构.分支结构和循环结构,Python也是如此,顺序结构过于简单不提,简单记录一下分支和循环与C++的异同点,顺便提一下,对于已经会C++的人来说,学Python应该注意的是语句块通过缩进来控制. 分支结构:都使用if.else,多出了一个elif代替C++的else if,本质相同,就不给出例子 循环结构:和C++对比,没有了do..until语句,有while和for,里面同样使用break来结束循环,使用continue来进入下一个循环,但for出现了

【python第三篇】 python基础之函数,递归,内置函数

一 数学定义的函数与python中的函数 1.函数的好处:代码重用,保持一致性,易维护性,可扩展性 2.什么是过程?就是没有返回值的函数值,函数返回值:1.若没有返回值,返回None(没有return):2.有返回值时,直接返回值: 总结: 返回值数=0:返回None 返回值数=1:返回object 返回值数>1:返回tuple 3.1形参和实参 a.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元,因此,形参只在函数内部有效,函数调用结束返回主调用函数不能再使用该形

Python笔记三(函数)

一.函数的简介 我们写一个计算字符串或列表等长度的方法,方法类似len()方法,发现实现的代码几乎相同: 1 s1='1234567890' 2 def my_len(): 3 count = 0 4 for i in s1: 5 count+=1 6 print(count) 7 my_len() 8 print(len(s1)) 首先,之前只要我们执行len方法就可以直接拿到一个字符串的长度了,现在为了实现相同的功能我们把相同的代码写了好多遍 —— 代码冗余 其次,之前我们只写两句话读起来也

python之列表作为函数的参数

函数参数为 列表或者字典 传递一个列表,例如 [1, 2, 3] 将此传给函数get_sum() 求出 各个元素之和 传递一个字典,打印出key/value的对应关系表: #!/usr/bin/env python def get_sum(*args): res = 0 for i in args: res += i print(res) lista = [1, 2, 3] get_sum(*lista) print('-' * 40) def get_vk(**kwargs): for k,

python 基础 4.1 函数的参数

#/usr/bin/python #coding=utf-8 #@Time   :2017/10/24 9:09 #@Auther :liuzhenchuan #@File   :函数的参数.py #比较参数x,y的大小 def fun(x,y): if x>y: print x elif x<y: print y fun(6,7) >>> 7 fun(8,4) >>> 8 ##函数应用异常处理 def fun(): sth = raw_input('ple

Behave + Selenium(Python) ------ (第三篇)

通过之前的2篇文章,大家都了解了如果利用behave和selenium打开网页和进行基本的操作,但是这些对于项目来说,却是往往不够的. 如果对junit或者TestNG熟悉的人都知道有@Before Class等这些在脚本之前完成的任务:如用户登入,以及当浏览器操作完,关闭浏览器等一些操作.那么问题来了,在behave里面是怎么控制的呢? 在behave中有个environment.py文件,environment.py文件可以很好的解决这个问题,除了解决这个问题,还可以用来解决同一条case可

python笔记一:函数的参数

1.默认参数 def fun(x,y,z=3): sum=x+y+z return sum fun(1,2) 2.可变参数(两种方法定义) def fun(n): sum=0 for i in n: sum+=i; return  sum 调用:fun([1,2,3])或fun((1,2,3,4)) def fun(*n): sum=0 for i in n: sum+=i return sum 调用:fun(1,2,3) 3.关键字参数 def fun(x,y,**z): print 'x:'

Python基础三:函数和类

函数的定义和调用 1 def fun(x): 2 if x > 0: 3 print "x>0" 4 else: 5 print "x<=0" 6 7 a = 3.5 8 b = -1 9 fun(a) 10 fun(b) 类的定义和基本调用 1 class Student: 2 def __init__(self, name, age): 3 self.name = name 4 self.age = age 5 6 def studying(s

swift入门篇-函数

今天给大家介绍 swift函数,swift函数和c#,js的写法大致一直,但是与object-c写法有很大不同点.废话不多说,直接开始了. 1:函数  --常量参数 func 函数名( 参数变量:类型 ,参数变量:类型...){} 说明: 1: func 是函数关键字 2:{} 函数体 3: 参数变量是默认常量类型,不能在函数函数体里面直接修改 即 func A (value:String)  与 func A (let value:String)写法是相同的,即value 是常量. 例子 /*