zoukankan      html  css  js  c++  java
  • 假期(函数相关)

    """
    1、什么是函数
        - 函数就是一个代码块
    2、为什么要用函数(定义函数)
        - 为了实现代码的重用性
        - 函数即变量,必须先定义,后饮用
    3、函数的分类:
        内置函数:如:print,list,tuple,dict等python内置好的函数,在python内部任何地方都可以调用
        自定义函数:假如内置函数不能满足我们对于某些功能的需求,就需要自定义一些函数
    4、如何定义函数
        定义函数都干了什么事?
            - 只检测语法,不执行代码
        语法   def func():pass       def 关键字,func函数名,()   :
        定义有参函数,以及有参函数的应用场景
            def func(name):pass         - 根据外部传进来的数据进行逻辑判断
        定义无参函数,以及无参函数的应用场景
            def func():pass             - 仅仅执行一些操作,比如用户交互,打印等
        定义空函数,以及空函数的应用场景
            - 设计代码结构
    5、调用函数
        如何调用函数
            - 先找到名字,然后根据名字调用↓
            - 函数名()
        函数的返回值
            - 不写默认返回None
            - return其它(一个值|元组)
        函数的返回值必须有吗?
            - 有:调用函数,经过一系列的操作,最后要拿到一个明确的结果,则必须要有返回值
            - 无:···,不需要得到什么结果,则不需要有返回值
        函数参数的应用:形参和实参,位置参数,关键字参数,默认参数,*arg,**kwargs
        函数调用的三种形式:
            - 1、语句形式:foo()
            - 2、表达式形式:3*len("hello")
            - 3、当另一个函数的参数:range(len("hello"))
        函数的参数:
            - 形参和实参定义
            - 形参即变量名,实参即变量值,函数调用将值绑定到名字上,函数调用结束,接触绑定
        注意:
            - 默认参数只在定义的时候赋值一次
    6、高阶函数(函数对象)
        - 函数时第一类对象,即函数可以当做数据传递
        - 可以被引用
        - 可以作为返回值
        - 可以当做容器类元素
    7、函数嵌套
        - 函数里面的函数
    8、作用域与名称空间
        - golbal
        - local
        - 名称空间:存放名字的地方,三种名称空间(x=1,1存放在内存,x存放的地方就是名称空间)
        - 加载顺序:函数内的名字空间→外部嵌套的函数→全局→内置模块的名字空间
    9、装饰器
        - 闭包函数:内部函数包含对外部作用域而非全局作用域的引用
        - 闭包的意义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域
        - 应用领域:延迟计算
        - 本质(闭包函数),
        - 调用方式  (语法)
            - @函数名  =====>语法糖
        - 为何要用装饰器
            - 开放封闭原则:对修改封闭,对扩展开放
            - 在不修改源代码的前提下增加新功能
    10、迭代器、生成器以及协程函数
        - 概念:重复的过程称之为迭代,没重复一次即一次迭代,本次的迭代结束值是下次的初始值
        - 有__iter__方法
        - 优点:惰性计算,节省内存;缺点:无法获取长度,只能往后走
    11、三元运算,列表解析,生成器表达式
        - 三元运算:res = "SB" if name=="alex" else "shuai"
        - 列表解析:[(i*i) for i in range(10)]
        - 生成器表达式(用的时候才给);语法与列表推倒式一样,只是[] 变为()
            - 节省内存,一次只产生一个值
            - 应用:读取大的文件慢慢读取,而不是一下子吧内存撑爆
    12、函数的递归调用
        - 递归和回溯
        - 递归的效率低
        在一个函数内部再次调用这个函数,递归函数一定要有结束条件
    13、内置函数
        - python内部就有的函数
    14、面向过程编程与函数式编程
        - 面向过程:机械师思维,流水线式编程
        - 函数式编程:垒代码
    """
  • 相关阅读:
    洛谷1113 杂务
    MySQL中的各种引擎
    剑指offer第3题:从尾到头打印链表
    向一个GitHub repository添加协作者
    String、StringBuffer与StringBuilder之间区别
    java与C语言在字符串结束符上的区别
    git 查看远程分支、本地分支、创建分支、把分支推到远程repository、删除本地分支
    Git问题Everything up-to-date解决
    Mybatis 数据库物理分页插件 PageHelper
    时间序列分析发展史
  • 原文地址:https://www.cnblogs.com/52-qq/p/8446927.html
Copyright © 2011-2022 走看看