面向对象:--》类--》class

面向过程:--》过程--》def

函数式编程:--》函数--》def

    函数是逻辑结构化和过程化的一种编程方法
使用函数的三大优点:减少代码重复性;保持一致性;可扩展性
函数返回值的作用:作为后面程序逻辑判断的依据
函数的返回值不是只为数字
函数的调用:位置参数调用:与形参一一对应
关键字参数调用:与形参位置无关
关键参数写在位置参数后面
默认参数 特点:调用函数时,默认参数可有可无。
用途:程序默认安装路径;连接服务器默认端口
非固定参数 **kwargs---》字典 把n个关键字参数,转化为字典
*args---》元组 把n个位置参数,转化为元组
定义函数时,参数组要放在最后 global 调用全局变量 返回值作用:函数经过调用并开始执行,那函数外部程序就无法再控制函数执行的过程了,此时外部程序只能等待函数的执行结果了。
因为外部程序要根据函数的执行结构来决定下一步怎么走, 函数里可以嵌套函数
嵌套函数:函数里嵌套其它函数
递归函数:函数里嵌套自身
     递归特性:1. 必须有一个明确的结束条件

         2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

         3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈                                           帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

  匿名函数就是不需要显式的指定函数

      #这段代码
      def calc(n):
      return n**n
      print(calc(10))
      #换成匿名函数
      calc = lambda n:n**n
      print(calc(10))

  匿名函数主要是和其它函数搭配使用

      res = map(lambda x:x**2,[1,5,7,4,8])
      for i in res:
      print(i)


高阶函数
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数

    def add(x,y,f):
    return f(x) + f(y)
    res = add(3,-6,abs)
    print(res)



day4 函数的更多相关文章

  1. python学习之day4,函数

    1.函数的定义:  函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可    特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义: def ...

  2. Day4 函数、列表生成式、生成器、迭代器

    温故而知新: 1. 集合 主要作用: 去重 关系测试, 交集\差集\并集\反向(对称)差集 2. 元组 只读列表,只有count, index 2 个方法 作用:如果一些数据不想被人修改, 可以存成元 ...

  3. day4函数文件操作

    一.高效读取文件 1.使用with打开文件,程序运行完后会自动关闭打开的文件 2.修改文件,将文件中的123替换为a(简单粗暴方式) 3.打开两个文件,修改后将旧文件删除,将新文件名字改成旧文件的名称 ...

  4. day4 函数重载

    函数的重载 1.函数重载的定义:在同一个类中,有一个以上的同名函数,只要函数的参数列表或参数类型不一样即可,与返回值无关, 这些统称为方法的重载. 2.函数的重载存在的原因:为了增强方法的阅读性,优化 ...

  5. Learn day4 函数参数\变量\闭包\递归

    1.函数描述 # ### 函数 """ (1)函数的定义: 功能 (包裹一部分代码 实现某一个功能 达成某一个目的) (2)函数特点: 可以反复调用,提高代码的复用性,提 ...

  6. python中的函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  7. 第四篇: python函数续

    1.函数的嵌套 函数的嵌套调用:在调用一个函数的过程中,又调用了其它函数 示例1: def bar(): print('from nbar') def foo(): print('from foo') ...

  8. python笔记4 - 函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...

  9. 【目录】Python自动化运维

    目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 ...

随机推荐

  1. 【转】Native JavaScript Data-Binding

    原文转自:http://www.sellarafaeli.com/blog/native_javascript_data_binding Two-way data-binding is such an ...

  2. IOS懒加载

    1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 ...

  3. 第七篇T语言实例开发,文本与程序的几种打开方法(版5.3)

    文本与程序的几种打开方法 文本文件的打开方法 函数名: cmd 命令 函数描述: 执行CMD命令 函数原型: cmd(cmdstr) 命令(cmd命令) 函数参数: cmdstr:cmd命令,此处执行 ...

  4. ubantu svn 安装、卸载、配置hooks

    1.安装之前先看是否已经安装了 svn -version 若已经安装会有以下提示,若没有安装,进行下一步 若想卸载了执行命令 ( sudo apt-get remove --purge subvers ...

  5. linux按键驱动之poll

    上一节应用程序的死循环里的读函数是一直在读的:在实际的应用场所里,有没有那么一种情况,偶尔有数据.偶尔没有数据,答案当然是有的.-->poll机制:Poll机制实现的是一定时间如果没有按键的话就 ...

  6. LeetCode-Subsets

    Given a set of distinct integers, nums, return all possible subsets. Note: The solution set must not ...

  7. 常用的shell命令

    作为一名有10年以上使用年龄的Linux/MacOSX用户来说,键盘的作用往往要远大于鼠标.而且,作为一个黑客文化的追随者,我也希望越来越多的用户能认识到命令行的潜在价值,不要把它视为只是计算机专家们 ...

  8. JPanel

    class NewPanel extends JPanel{ public NewPanel() {} public void paintComponent(Graphics g) { int x=0 ...

  9. lvs+keeplived笔录

    关于keeplived配置文件的详细描述如下 链接:http://blog.csdn.net/jibcy/article/details/7826158 实验环境: 主Keepalived 172.1 ...

  10. VS高效开发快捷键

    Ctrl + Tab 标签切换 Ctrl + '-'向后导航 Ctrl + Shift+'-'向前导航 Ctrl +Shift +空格  提示函数参数 Ctrl +F4 退出本标签 Ctrl+F 查找 ...