定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
语法
def functionname( parameters ):
   "函数_文档字符串"
   function_suite   return [expression]
   
实例  
# 定义函数 
def abc():
    a=1
    print(a)
# 调用函数    
abc()

带参数的函数
def aaa(a):
    a=1
    print(a)
# 调用
aaa(1)

带返回值的函数
def abc(a):
     b=a+1
     return b
x=abc(1)
print(x)
>>2

函数的默认参数
def aaa(a,b=1):
    print (a,b)
aaa(1)
>>1,1

动态参数1
>>> def aaa(*a):
...     print (a)
...
>>> aaa(1,2,3,4,5,6)
(1, 2, 3, 4, 5, 6)
>>>

动态参数2
>>> def aaa(**a):
...     print(a)
...
>>> aaa(a=1,b=2)
{'a': 1, 'b': 2}

动态参数3
>>> def aaa(*a,**b):
...     print (a,b)
...
>>> aaa(1,2,3,45,a=1,b=2)
(1, 2, 3, 45) {'a': 1, 'b': 2}

lambda表达式
>>> aaa=lambda a: a+1
>>>
>>> aaa(1)
2

发邮件的函数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
import smtplib
from email.mime.text import MIMEText  
from email.utils import formataddr

def email(alert):
    print (elart)
    msg=MIMEText('邮件内容测试发邮件%s' % elart,'plain','utf-8')
    
    msg['From']=formataddr(['蒋文辉','xxxxx@xxxxx.cn'])
    msg['To']=formataddr(["hello",'290070744@qq.com'])
    msg['Subject']="主题"
    
    server=smtplib.SMTP("smtp.mxhichina.com",25)
    server.login("xxxxxx@xx.cn","Password")
    server.sendmail('xxxxx@xxxxxx.cn',['290070744@qq.com',],msg.as_string())
    server.quit()
    
cpu=90
if cpu>80:
    elart='cpu有问题'
    email(elart)