Python-函数和代码复用

函数的定义与使用

>函数的理解与定义

函数是一段代码的表示

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

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

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

def <函数名>(<参数(0个或多个)>) :

  <函数体>

  return <返回值>

#计算n!
def fact(n) :  #fact 函数名;n 参数
    s = 1
    for i in range(1, n+1): 
        s *= i
    return s   # s 返回值

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

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

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

>函数的使用及调用过程

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

#接上段代码
a=fact(10)

-调用时要给出实际参数

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

-函数调用后得到返回值

>函数的参数传递

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

def fact() :

  print("我是一个没有参数的函数")

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

def <函数名>(<非可选参数>,<可选参数>) :

  <函数体>

  return <返回值>

#计算 n!//m
def fact(n, m=1) : #m=1为可选参数
    s = 1 
    for i in range(1, n+1): 
        s *= i
    return s//m
#fact(10) 3628800 
#fact(10,5) 725760    

可变参数传递

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

def <函数名>(<参数>,*b) :

  <函数体>

  return <返回值>

#计算 n!乘数
def fact(n, *b) : #*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        

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

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

>函数的返回值

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

-return保留字用来传递返回值

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

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

>局部变量与全局变量

>lambda函数


代码复用与函数递归

猜你喜欢

转载自www.cnblogs.com/cpg123/p/10420717.html