zoukankan      html  css  js  c++  java
  • python 3.x 学习笔记4(函数)

    1.编程方式分:面向对象、面向过程、函数式编

     

    2.区分
    面向对象----》类----》class
    面向过程----》过程----》def
    函数式编程----》函数----》def

     

    3.编程语言中函数的定义:

    函数是逻辑结构化和过程化的一种编程方法

     

    4.过程是没有返回值的函数

     

    5.使用函数的优点:

    1)代码可重复使用
    2)代码可保持一致性
    3)可扩展性

     

    6.

    当一个函数/过程没有使用return显示的定义返回值时,python解释器会隐式的返回None,所以在python中即便是过程也可以算作函数

     

    7.返回值
    返回值的数等于0,返回None
    返回值的数等于1,返回object
    返回值的数大于1,返回tuple

    8.参数

    1)形参和实参形参:形式参数,不是实际存在的,是虚拟变量 。在定义函数体的时候使用形参,目的是在函数 调用时接受参数(形参参个数、类型与实参一一对应)

    实参:实际参数,调用函数时传给函数的参数,可以是常量、变量、表达式、函数,传给形参

    2)位置参数和关键字参数

    标准调用:实参与形参位置一一对应;

    关键字调用:位置无需固定

    3)默认参数
    特点:调用函数的时候,默认参数非必须传递

    4)参数组

    *args 接收n个位置参数,转换成元组的方式

    **kwargs 接收 n个关键字参数,转换成字典的方式

     

    9.局部变量

    只在局部范围内发生作用,即只在函数内部发生作用

     

    10.全局变量

    全局变量作用域是整个程序,要把局部变量变成全局变量用global,但是不建议在函数里使用,可能会出现很严重bug

     

    11.局部变量除了整数、字符串不能影响全局变量,像字典、元组、列表、类都可以更改,并影响到全局变量

     

    12.递归

    如果一个函数在内部调用自身,这个函数就是递归函数

     

    13.递归特性

    1)必须有一个明确的结束条件

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

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

     

    14.高阶函数

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

     

    15.函数详解:

    http://www.cnblogs.com/alex3714/articles/5740985.html

  • 相关阅读:
    利用定时器实时显示<input type="range"/>的值
    javascript日常总结
    SpringCloud如何上传大文件
    SpringBoot如何上传大文件
    SpringMVC如何上传大文件
    CSharp如何上传大文件
    C#如何上传大文件
    C#.NET如何上传大文件
    .NET如何上传大文件
    word文档的图片怎么保存到动易CMS上
  • 原文地址:https://www.cnblogs.com/hsj-jingyu/p/8325974.html
Copyright © 2011-2022 走看看