第三章--函数相关知识
while True:
if cpu利用率 >= 90%
连接邮件服务器
发送邮件
关闭连接
if 内存利用率 >= 90%
连接邮件服务器
发送邮件
关闭连接
if 硬盘利用率 >= 90%
连接邮件服务器
发送邮件
关闭连接
此上代码重复代码太多,日后需要修改代码,需要修改的点太多,维护性太差。。由此引出了函数,把重复代码提取出来,放在公共的地方,起个名字,之后调用即可
就像如下代码这样:
def 发送邮件(内容)
连接邮箱服务器
发送邮件
关闭连接
-----》对顶上的代码进行优化后如下:
while True:
if cpu利用率 >= 90%
发送邮件
if 内存利用率 >= 90%
发送邮件
if 硬盘利用率 >= 90%
发送邮件
-----------------
def sayhi(): # 函数名
print("大家好")
使用的使用,sayhi() # 加()是调用,不加是指向代码所在的内存地址
如下代码
a,b = 5,8
c = a**b
print(c)
使用函数来看,就是如下
def calc(x,y) # ---《,x,y就是形参
res = x**y
return res # 返回函数执行结果
c = cale(x,y) # 使用如上函数 # 这里的X和Y就是实参,
形参:调用时才分配到内存,调用完毕后释放内存,所以,形参只在函数内部有效
实参: 可以是常亮,变量,表达式,函数等,调用时必须是确认的值,以便把参数传给形参,所以应该预先赋值
默认参数
def stu(name,age,country,course)
print('姓名:',name)
print('age:',age)
print('国籍:',counry)
print('课程:',course)
使用如下优化:
def stu(name,age,course,country='cn')
print('姓名:',name)
print('age:',age)
print('国籍:',counry)
print('课程:',course)
非默认参数必须在默认参数的前面,如果不想按照顺序,那就必须执行参数名,但必须放在位置参数之后 比如 def stu(name,course,age=23,country='cn')
匿名函数
def cale(x,y)
return x**y
匿名函数写法 lambda x,y:x**y # 声明一个匿名函数
把匿名函数赋给一个变量后 a = lambda x,y:x**y
如下操作效果一样
print(cale(3,8))
print(a(3,8))
匿名函数2
def cale(x,y)
if x <y:
return x**y
else:
return x/y
用匿名函数表达就是 : a = lambda x,y:x**y if x<y else x/y
map()函数
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]
如果希望把list的每个元素都作平方,就可以用map()函数:
因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:
def f(x):
return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
输出结果:
[1, 4, 9, 10, 25, 36, 49, 64, 81]
注意:map()函数不改变原有的 list,而是返回一个新的 list。
浙公网安备 33010602011771号