码迷,mamicode.com
首页 > 编程语言 > 详细

python四:函数练习--小白博客

时间:2019-03-20 20:55:45      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:host   gmail   code   info   pytho   contents   博客   必须   包含   

# 为什么要有函数?
# 函数式编程定义一次,多出调用
# 函数在一定程度上可以理解为变量
# 函数的内存地址加上()就是调用
# 函数本身也可以当做参数去传参
#
#不用函数:
# 组织结构不清晰
# 代码的重复性
def test():#test就是函数名,里面的代码块就是值
    print(你好)
print(test)

def bar(x):#x叫形参
    print(x)
bar(s)#s叫实参


def foo(x, y=2):#y相当于默认值,如果传参数会把y覆盖,如果不传参数默认就是2
    print(x + y)
foo(x=2,y=9)


def bar(*args):
    print(args)#args返回的是一个元组,args名字可以自定义,*必须有
    print(*args)  #返回输入值
bar(1,2,3,4,5,6,7,8,x)


def bar(**shenchenlin):
    print(shenchenlin)#kwargs返回的是一个字典,kwargs名字可以自定义,**是必须有的
bar(name=申晨林, age=25)


# return  返回,把函数的执行结果返回,return下面的代码不会执行
def test(x, y):
    return x + y
def bar(x,y):
    return x + y
res = bar(test(1,2), 100)

 



#监控
# 如果c盘使用率超过10%,print(cpu使用率超过10%)
# 如果内存使用率超过80%,print(内存使用率超过80%)
# 如果cpu使用率超过70%,print(cpu使用率超过70%)

import psutil
import yagmail
info = {}
def disk():
    disk_total = int(psutil.disk_usage(c:)[0]/1024/1024/1024)
    disk_used = int(psutil.disk_usage(c:)[1]/1024/1024/1024)
    disk_free = int(psutil.disk_usage(c:)[2]/1024/1024/1024)
    disk_percent = psutil.disk_usage(c:)[3]
    disk_info = {
        disk_total:disk_total,
        disk_used: disk_used,
        disk_free: disk_free,
        disk_percent: disk_percent
    }
    return disk_info
def mem():
    mem_total = int(psutil.virtual_memory()[0]/1024/1024)
    mem_free = int(psutil.virtual_memory()[1]/1024/1024)
    mem_percent = psutil.virtual_memory()[2]
    mem_used = int(psutil.virtual_memory()[3]/1024/1024)
    mem_info = {
        mem_total: mem_total,
        mem_free: mem_free,
        mem_percent: mem_percent,
        mem_used: mem_used
    }
    return mem_info

def cpu():
    cpu_percent = psutil.cpu_percent(1)
    cpu_info = {
        cpu_percent: cpu_percent
    }
    return cpu_info

def sendmail(subject,contents):
    yag = yagmail.SMTP(user=18618250232@163.com, password=lizhaoqwe123123, host=smtp.163.com)
    yag.send(to=18618250232@163.com, cc=18618250232@163.com, subject=subject, contents=contents)
    yag.close()

def main():
    disk_info = disk()
    mem_info = mem()
    cpu_info = cpu()
    info.update(disk_info)
    info.update(mem_info)
    info.update(cpu_info)
    msg = 硬盘总大小:%sG\n硬盘使用大小:%sG\n硬盘剩余大小:%sG\n硬盘使用率:%s%%\n内存总大小:%sM\n内存剩余大小:%sM\n内存使用率:%s%%\n内存使用大小:%sM\ncpu使用率:%s%% % (info[disk_total],info[disk_used],info[disk_free],info[disk_percent],info[mem_total],info[mem_free],info[mem_percent],info[mem_used],info[cpu_percent])
    if info[disk_percent] > 80:
        sendmail(邮件报警,msg)

if __name__ == __main__:
    main()

 



if __name__==‘main‘:命令的理解与练习
print(恋习Python)
def main():
   print(恋习Python)
if __name__ == __main__:
   main()
   print(跟着菜鸟分析,练习Python越练越恋)
其运行原理也就是:
由于每个python模块(python文件)都包含内置的变量__name__,
当运行模块被执行的时候,__name__等于文件名(包含了后缀.py)。
如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。
而“__main__”等于当前执行文件的名称(包含了后缀.py)。所以当模块
被直接执行时,__name__ == __main__结果为真;而当模块被import到
其他模块中时,__name__ == __main__结果为假,就是不调用对应的方法。

 


# 随机生成验证码
import random # 导入模块
def v_code(): # 验证码一般用循环 数字和字母相平的验证码
    res="" # 验证码是字符串 首先有个初始值
    for i in range(5): #5表示验证码5个随机数
        num = random.randint(0,9) # 取到的数字
        alf = chr(random.randint(65,90) )#chr chr()函数是输入一个整数【0255】返回其对应的ascii符号
        s = str(random.choice([num, alf]))# 做字符的转换
#res += random.choice([num, alf])  # 让字母和数字随机拼接起来,choice在s1和s2里面随机选择一个。
        res +=s # 这是上面步骤的简写
    return res # 返回的是字符串平接的结果
print(v_code())# 调用函数

 




python四:函数练习--小白博客

标签:host   gmail   code   info   pytho   contents   博客   必须   包含   

原文地址:https://www.cnblogs.com/zhou2019/p/10567282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!