zoukankan      html  css  js  c++  java
  • 函数的定义以及调用

    """
    一:函数的定义,分类
    为什么需要函数?
    面条版的程序存在的问题
    1.代码结构不清晰,可读性查
    2.有很多冗余(多余的重复的)代码
    3.后期的维护性极差,扩展性

    基于上述问题,程序中必须有对应的解决方案就是函数

    函数是什么?
    函数是实现某一功能的代码的集合体
    相当于生活中具备某个功能的工具,例如:锤子
    要使用工具 必须要先制造工具,才能使用
    同理,在程序中要想使用函数,则必须先定义函数(创建函数)

    如何定义函数
    定义函数的语法:
    def 函数的名字(参数1,..参数n):
    '''
    文档注释
    文档注释可以被help函数提取
    '''
    代码1
    代码2
    代码n
    return 值

    return 参数 和注释都是可选的

    def: 定义的关键字
    函数的名字: 用来查找和执行函数,
    python的命名规范:
    不能是数字开头
    不能是关键字
    只能由数字,字母,下划线组成
    要见名知意,这一点很重要,必选让使用的人能看出来你的功能
    用下划线连接多个单词
    档注释:注释是给程序看的备注信息,文档注释用于描述函数的具体细节.文档注释可以被help函数提取
    代码块:具体实现功能的代码,也称之为函数体
    return: 用于返回值给使用者

    参数是可选 那就可以将函数
    分为
    有参函数
    当你的函数体执行需要依赖外界的数据才能完成功能,那就应该是有参函数
    无参函数
    当你的函数体执行不需要依赖外界的数据就能完成功能,那就应该是无参函数


    如果不包含任何函数体就就称之为空函数

    定义
    def func():
    pass # (略过函数体)

    # 调用
    func() # 调用空函数是没意义的

    在程序开发初期有用,可以用于定义出程序的结构

    参 数是什么?
    参加,参与,数据
    参与运算的数据
    什么样的代码应该定义为函数
    这段代码会多次被执行,
    这个段代码是一个完整的独立的功能



    二 函数的调用:
    def func():
    print("func run")
    # 1.直接调用
    func()

    # 2.在表达式中调用
    def max(a,b):
    if a > b:
    return a
    else:
    return b
    print(max(10,20) * 100)

    # 3.将函数的返回值作为参数
    print(max(max(10,20),30))


    定义阶段
    1.申请内存空间,将函数的代码存储到内存中
    2.把内存地址和函数名建立绑定关系
    需要强调的是:函数在定义阶段是不会执行函数体代码的,但是会检测语法

    调用阶段
    1.通过函数名找到函数的内存地址
    2.加括号触发函数体的执行


    三 return返回值:
    return 关键字用来返回一个值
    在函数定义中是可选的

    什么时候该有返回值
    函数是工具,是帮你完成某个功能的,一些功能在完成后必须要产生一个结果给调用者
    例如生活中的榨汁机,执行完成后使用者应该得到果汁

    什么时候不需要返回值
    在调用这个函数时,不需要返回任何结果给调用者,那就不需要返回值

    return的特殊用法:
    1.一次性返回多个值
    2.返回空值
    不写任何的return 默认返回None
    return后不返回任何值
    return None
    3.一个函数中可以有多个return关键字
    函数执行过程中只要遇到了return 后续代码都不会执行了,函数立马返回
    我们可以利用这个特点来结束函数的执行
    """
  • 相关阅读:
    【CF989E】A Trance of Nightfall
    [SHOI2012]信用卡凸包
    [HNOI2016]最小公倍数
    [HNOI2012]射箭
    [SCOI2015]小凸想跑步
    [CQOI2006]凸多边形
    ### Hadoop
    ### awk
    ### Theano
    ### Python Learning
  • 原文地址:https://www.cnblogs.com/xiezuodd/p/10250186.html
Copyright © 2011-2022 走看看