函数定义和使用

 1 def 函数名(参数):
 2        
 3     ...
 4     函数体
 5     ...
 6     返回值
 7 函数的定义主要有如下要点:
 8 def:表示函数的关键字
 9 函数名:函数的名称,日后根据函数名调用函数
10 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
11 参数:为函数体提供数据
12 返回值:当函数执行完毕后,可以给调用者返回数据。

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

无参数实现

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

有参数实现

函数的有三中不同的参数:

1 # ######### 定义函数 #########
2
3 # name 叫做函数func的形式参数,简称:形参
4 def func(name):
5     print name
6
7 # ######### 执行函数 #########
8 #  ‘wupeiqi‘ 叫做函数func的实际参数,简称:实参
9 func(‘wupeiqi‘)

普通参数

 1 def func(name, age = 18):
 2
 3     print "%s:%s" %(name,age)
 4
 5 # 指定参数
 6 func(‘wupeiqi‘, 19)
 7 # 使用默认参数
 8 func(‘alex‘)
 9
10 注:默认参数需要放在参数列表最后

默认参数

 1 def func(**kwargs):
 2
 3     print args
 4
 5
 6 # 执行方式一
 7 func(name=‘wupeiqi‘,age=18)
 8
 9 # 执行方式二
10 li = {‘name‘:‘wupeiqi‘, age:18, ‘gender‘:‘male‘}
11 func(**li)

动态参数

1 def func(*args, **kwargs):
2
3     print args
4     print kwargs

动态参数

 1 def func(**kwargs):
 2
 3     print args
 4
 5
 6 # 执行方式一
 7 func(name=‘wupeiqi‘,age=18)
 8
 9 # 执行方式二
10 li = {‘name‘:‘wupeiqi‘, age:18, ‘gender‘:‘male‘}
11 func(**li)

动态参数

 1 import smtplib
 2 from email.mime.text import MIMEText
 3 from email.utils import formataddr
 4
 5
 6 msg = MIMEText(‘邮件内容‘, ‘plain‘, ‘utf-8‘)
 7 msg[‘From‘] = formataddr(["武沛齐",‘[email protected]‘])
 8 msg[‘To‘] = formataddr(["走人",‘[email protected]‘])
 9 msg[‘Subject‘] = "主题"
10
11 server = smtplib.SMTP("smtp.126.com", 25)
12 server.login("[email protected]", "邮箱密码")
13 server.sendmail(‘[email protected]‘, [‘[email protected]‘,], msg.as_string())
14 server.quit()

发送邮件实例

时间: 2024-10-25 06:19:18

函数定义和使用的相关文章

条件、循环、函数定义、字符串操作练习

注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式. 对前面的代码进行优化,用for,while,if,def实现: 用循环画五角星 1 import turtle 2 3 turtle.fillcolor("red") 4 turtle.begin_fill() 5 for i in range(5): 6 turtle.forward(100) 7 turtle.right(144) 8 turtle.end_fill() 用循环画同心圆

Javascript读书笔记:函数定义和函数调用

定义函数 使用function关键字来定义函数,分为两种形式: 声明式函数定义: function add(m,n) { alert(m+n); } 这种方式等同于构造一个Function类的实例的方式: var add = new Function("m", "n", "alert(m+n);"); Function类构造方法的最后一个参数为函数体:"alert(m+n);",前面的都是函数的形参,参数必须是字符串形式的:&

条件、循环、函数定义

1.用循环画五角星 import turtle turtle.setup(600,400,0,0) turtle.color("yellow") turtle.bgcolor('red') turtle.fillcolor("yellow") turtle.up() turtle.goto(-250,75) turtle.down() turtle.begin_fill() for i in range(5): turtle.forward(100) turtle.

调用函数时传递的实参个数arguments.length; ,函数定义时的形参个数sum.length

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>范例6-4</title>

以前忽略了的 函数定义表达式【提升】 的小细节

区别函数定义的两种方式: var foo = function() {} //函数定义表达式 function foo() {} //函数声明语句 前者有提升现象,后者没有. 众所周知,javascript在中有 "变量提升"的现象--在变量声明之前使用该变量就会报错:原因是因为js 是从上到下执行,在使用一个还未定义的变量所以就会报错! 同理: foo()var foo = function(){ console.log(1) } => VM3022:1 Uncaught Ty

字符编码、文件操作、函数定义

一.字符编码 字符串是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节.比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295. 由于计算机是美国人发明的,因此,最早只有127个字符被编

实验八——函数定义及调用总结

实验八--函数定义及调用总结 1.本次课学习到的知识点: (1)void为不反回结果的函数,且void不能省略,否则默认为int,函数体中没有表达式的return语句,也可省略return. (2)不返回结果的函数在定义.调用.参数传递.函数声明上,思路与以前相同,适用于把一些确定的.相对独立的程序功能封装成函数. (3)局部变量:定义在函数的内部,且有效作用范局部变量一般定义在函数或复合语句的开始处,围局限于所在的函数内部,形参是局部变量. (4)不能定义在中间位置. (5)全局变量:定义在函

实验七——函数定义及调用总结

1.本次课学习到的知识点: 函数 (1)定义:函数是一个完成特定工作的独立程序模块,包括函数和自定义函数两种: 1.scanf(),printf()等为库函数,由c语言系统提供定义,编程时只要直接调用即可. 2. cylinder(),fact()函数,需要用户自己定义,为自定义函数. (2)cylinder(),fact()功能不同,但他们能实现一个计算,并可以得到一个明确的计算结果. (3) 函数定义的一般形式为: 函数类型    函数名(形式参数表) { 函数实现过程 } (4)函数部首:

shell 函数定义及应用

1.函数介绍 函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程. 它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序的一部分. 使用时, 在shell 中  source  /path fo function_file,函数将保留至用户退出,也可以使用 unset function_name ,撤销函数 函数和shell程序比较相似,区别在于: Shell程序在子Shell中运行 而Shell函数在当前Shell中运

五种函数定义方式----第五种是重点

//函数4要素:返回类型,函数名,参数列表,函数体//1.最简单的定义方式/*function show(){echo "hello"; }*///2.有函数的定义方式/*function show($a){echo a;}*///3.有默认值的函数定义/*function show($a="ccc"){ echo $a;}*///4.有返回值的函数定义/*function show($a,$b){  return $a+$b; }*///5.可变参数的函数定义