zoukankan      html  css  js  c++  java
  • 第十三章 函数的定义与使用

    ---恢复内容开始---

    函数的定义:函数是一段代码的表示

    1、函数是一段具有特定功能的、可重用的语句组

    2、函数是一种功能的抽象,一般函数表达特定功能

    3、函数主要是有两个作用:降低编程难度和代码复用

    函数的定义:

    1 def <函数名>(<参数(0个或多个)>)
    2   <函数体>
    3   return <返回值>

    计算n的阶乘的函数定义

    1 def fact(n)  #函数名  参数
    2     s=1
    3     for i in range(1,n+1):
    4              s*=i;
    5     return s  #返回值

    函数的定义:y=f(x)

    1、函数定义时,所指定的参数是一种占位符

    2、函数定义后,如果不经过调用,不会被执行

    3、函数定义时,参数是输入、函数体是处理、结果是输出(IPO)

    函数的调用:调用是运行函数代码的方式

    1 def fact(n):
    2     s=1
    3     for i in range(1,n+1):
    4         s*=i
    5     return s
    6 
    7 #上述是函数的定义
    8 
    9 fact(10)    #函数调用,计算10的阶乘

    有几点注意的地方:

    1、调用时要给出实际参数

    2、实际参数会替换定义中的参数

    3、函数调用后会得到返回值

    函数的调用过程如下图所示:

    函数的参数传递;

    参数个数:函数可以有参数也可以没有参数,但是必须保留括号

    1 def <函数体>():
    2 
    3   <函数体>
    4 
    5   return <返回值>
    1 def fact():
    2     print("我也是函数哦")

    可选参数传递

    函数定义时可以为某些参数指定默认值,构成可选参数

    1 def <函数名> (<非可选参数>,<可选参数>)
    2             <函数体>
    3             return <返回值>

    可选参数传递实例:

    1 def fact(n,m=1):
    2     s=1
    3     for i in range(1,n+1):
    4         s*=i
    5     return s//m

    >>>fact(10)

    3628800

    >>>fact(10,5)

    725760

    可变参数传递:函数定义时可以涉及可变数量参数,即不确定参数总数量

    1 def <函数名>(<参数>,*b):
    2       <函数体>
    3       return <返回值>

    可变参数传递的实例:

    def fact(n,*b):
        s=1
        for i in range(1,n+1):
            s*=i
        for item in b:
            s*=item
        return s

    >>>fact(10,3)

    10886400

    >>>fact(10,3,5,8)

    435456000

    参数传递的两种方式:

    函数调用时,参数可以按照位置或名称方式传递

    1 def fact(n,m=1)
    2     s=1
    3     for i in range(1,n+1):
    4         s*=i
    5     return s//m

    >>>fact(10,5)

    725760

    >>>fact(m=5,n=10)

    725760

    函数的返回值:函数可以返回0个或多个结果

    1、return保留字用来传递返回值

    2、函数可以有返回值,也可以没有,可以有return,也可以没有

    3、return可以传递0个返回值,也可以传递任意多个返回值

    1 def fact(n,m=1):
    2     s=1
    3     for i in range(1,n+1):
    4         s*=i
    5     return s//m,n,m

    >>>fact(10,5)

    (725760,10,5)#这是元组类型

    >>>a,b,c=fact(10,5)

    >>>print(a,b,c)

    725760 10 5

    下面我们来了解一下局部变量和全局变量的

    1、局部变量是函数内部的占位符,与全局变量可重名但不同

    2、函数运算结束后,局部变量被释放

    3、可以使用global保留字在函数内部使用全局变量

    4、局部变量位组合数据类型且未创建,等同于全局变量

    lambda函数

    lambda函数返回函数名作为结果

    1、lambda函数是一种匿名函数,即没有名字的函数

    2、使用lambda保留字定义,函数名是返回结果

    3、lambda函数用于定义简单的、能够在一行内表示的函数

    lambda函数

    1 <函数名>=lambda <参数>:<表达式>
    2 
    3 
    4 等价于
    5 
    6 
    7 def  <函数名>(<参数>):
    8         <函数体>
    9         return <返回值>

    lambda函数

    >>>f=lambda x,y:x+y
    >>>f(10,15)
    25
    >>>f=lambda:"lambda函数"
    >>>print(f())
    lambda函数
  • 相关阅读:
    VUE 脚手架模板搭建
    defineProperty
    理解JS中的call、apply、bind方法
    Two-phase Termination模式
    打印样式设计
    浏览器内部工作原理
    Immutable Object模式
    怎么跳出MySQL的10个大坑
    控制台console
    整理的Java资源
  • 原文地址:https://www.cnblogs.com/chy8/p/9455679.html
Copyright © 2011-2022 走看看