Python 程序设计

129 阅读24分钟

第五周  函数和代码复用

5.1函数的定义与使用

函数的定义

函数是一段代码的表示

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

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

两个作用:降低编程难度和代码复用

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

案列:计算n!

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

y = f(x)

函数定义时,所指定的参数是一种占位符
函数定义后,如果不经过调用,不会被执行
函数定义时,参数是输入、函数体是处理、结果是输出(IPO)

参数是输入,函数体本身是对参数的处理,return给出函数运行的结果

输入、处理、输出,简单理解,函数就是IPO的一种实现,函数也是一段完整代码的封装

函数的使用及调用过程

函数的调用

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

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

所谓调用就是用函数的名称,给定一个具体的值作为参数,所以调用时实际参数的值是运行函数的输入

调用是要给出实际参数

实际参数替换定义中的参数

函数调用后得到返回值

定义不被执行,而调用的时候通过给定实际参数替换定义中的实际参数,获得运算结果

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

def  <函数名>():
    <函数体>
    return <返回值>
def fact():
    print("我也是函数")

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

def  <函数名><非可选参数>,<可选参数>):
    <函数体>
    return <返回值>

可选参数一定要放在必选参数传递后面
计算 n!//m

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


可变参数传递

函数定义时可以设计可变数量参数,既不确定参数总数量

def 《函数名》(《参数》,*b):
    《函数体》
    return 《返回值》

首先定义函数,确定要给的函数放在前面,最后增加一个*b表达不确定参数

计算 n!乘数
def fact(n,*b):
    s = 1
    for i in range(1,n+1):
        s *= i
    for item in b:
        s *= item
    return s