zoukankan      html  css  js  c++  java
  • 函数1

    函数
    函数是什么?
    定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调其函数名即可
    特性:

    1.减少重复代码

    2.使程序变的可扩展

    3.使程序变得易维护
    while True:
    if cpu利用率 > 90%:
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接
    if 硬盘使用空间 > 90%:
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接
    if 内存占用 > 80%:
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接
    define 定义
    def 邮件报警(内容):
    连接邮件服务器
    发送邮件
    关闭连接
    def 发送邮件(内容)
    #发送邮件提醒
    连接邮箱服务器
    发送邮件
    关闭连接
    while True:
    if cpu利用率 > 90%:
    发送邮件('CPU报警')
    if 硬盘使用空间 > 90%:
    发送邮件('硬盘报警')
    if 内存占用 > 80%:
    发送邮件('内存报警')
    语法定义
    def sayhi():#函数名
    print("Hello, I'm nobody!")
    sayhi() #调用函数

    def calculate(x,y): #函数名 计算 x,y
    res = x*y
    # print(res)
    return res #返回值 意味着函数的终止
    # print(x*y) #条件 x*y
    n = calculate(5,8) #给参数赋值
    print(n)

    函数的参数:位置参数 > 关键参数默认参数
    形参:函数的中形式变量 临时的
    只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量
    实参:函数中调用的具体参数
    可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先给实参赋值
    位置参数: 字面意思
    默认参数: 顺序在所有参数最后 ,,隔开也可以 看着不舒服
    def register(name,age,major,country = 'CN'): #country 如果不填写 默认'CN'
    关键参数:正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可(指定了参数名的参数就叫关键参数),但记住一个要求就是,关键参数必须放在位置参数(以位置顺序确定对应关系的参数)之后
    非固定参数:在定义函数时,不确定后面调用时会传递多少个参数进来。
    函数的返回值与作用域:
    返回值:函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回
    特性:
    1.函数在执行过程中重要遇到return语句,就会停止执行并返回结果,所以也可以理解为return语句代表着函数的结束
    2.如果未在哈数中指定return,那这个函数的返回值为None
    全局与局部变量:
    1.在函数中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

    2.全局变量作用域(即有效范围)是整个程序,局部变量作用域是定义该变量的函数。

    3.变量的查找顺序是局部变量>全局变量

    4.当全局变量与局部变量同名时,在定义局部变量的函数内,局部变量起作用;在其它地方全局变量起作用。

    5.在函数里是不能直接修改全局变量的
    name = 'qiangzi' #全局变量
    def change():
    # name = '大强' #局部变量
    global name #在函数内改全局变量,在函数内部声明(创建)一个全局变量,开发规范不建议用。
    name = '大强'
    age = 22
    print(name)
    print(locals()) #locals() 本地,局部变量查询
    print(globals()) #globars() 全局,全局变量查询
    change()
    print(name)

  • 相关阅读:
    【死磕Java并发】—–J.U.C之AQS(一篇就够了)
    Java并发包基石-AQS详解
    java并发api总结
    用Java对CSV文件进行读写操作
    多线程批量检测未注册域名
    RSA公钥、私钥、签名和验签
    ASCII,Unicode和UTF-8终于找到一个能完全搞清楚的文章了
    Java 常用工具类---- 各种字符集编码判断与转换
    JavaMail| JavaMail配置属性
    QT下的几种透明效果(QPalette背景白色,窗口设置setWindowOpacity,QPainter使用Clear模式绘图)
  • 原文地址:https://www.cnblogs.com/wzq1997/p/13173483.html
Copyright © 2011-2022 走看看