二十二、函数基础

Day 10 函数基础

什么是函数

函数就是具备某一个功能的工具,实现将工具准备好就是函数的调用,遇到应用场景的时候拿来就用就是函数.

函数的作用

  1. 把重复的代码写成一个通用的模板
  2. 可以把冗余的代码独立开
  3. 解决程序冗余,扩展性差以及可读性差

如何使用函数

函数的使用时先定义,后调用

  1. 定义函数
    函数在定义结算只识别语法,不运行代码
def func()
    代码
  1. 调用函数
    调用函数的时候才执行函数体代码
func()

定义函数的三种形式

  1. 无参函数
def self_max():
    x=10
    y=20
    if x > y:
        print(x)
    else:
        print(y)
        
self_max()
  1. 有参函数,有几个参数就必须传入几个参数
def self_max(x,y):
    if x > y:
        print(x)
    else:
        print(y)
        
self_max(10,20)
  1. 空函数:当想要定义一个函数但不知道怎么写的时候可以先用空函数占位
def self_max()
    pass
    
self_max()

函数返回值

变量名用来接收变量值,函数名用来接收函数的返回值
如果需要在程序中拿到函数处理的结果做进一步的处理是,则需要函数必须要有返回值

  1. 函数中没有return,则默认返回None
  2. return可以返回任意数据类型的数据
  3. 当return返回多个值的时候,会以元祖的形式吧多个值存放在一起
  4. return是一个函数结束的标志,函数内可以有多个return,只要执行到return,函数就会停止

函数参数的应用

形参和实参

函数分为两个阶段

  1. 定义阶段:定义阶段括号内定义的参数,称为形参,形参具有描述意义,类似变量名,不为具体的数据类型

    def func(x,y)

  2. 调用阶段:调用阶段括号内传入的参数,称为实参,本质类似变量的值,实参必须是具体的数据类型

    func(1,2)

位置参数

  1. 位置形参
    在函数的定义阶段,按照从左到有的顺序依次定义的形参,称之为位置形参
    特点:按照位置定义的形参,都必须被传值,多一个不行,少一个也不行

    deffunc(x,y)

  2. 位置实参
    在函数调用阶段,按照从左到右的顺序依次定义的实参,称之为位置实参
    特点:按照位置为对应的位置形参依次传值

    func(1,2)

关键字实参

在调用函数阶段,以key=value的形式为对应的形参传值,称之为关键字实参
特点:可以打破位置的限制,为制定的形参赋值

func(x=1,y=2)

注意:可以混用位置实参和关键字实参,但是位置实参必须在关键字实参的前面,并且不能对一个形参重复赋值

默认形参

在函数的定义阶段,提前赋值给形参,当你实参传值的时候,实参穿的值会覆盖默认值
默认形参必须放在位置形参的后面
默认形参的值只在定义阶段赋值一次,也就是说默认参数的值在函数定义阶段就已经固定了,只有传入实参的时候才会被覆盖
默认参数的值通常是不可变类型

可变长参数

指的是在调用函数的时候,传入的参数个数可以不固定

可变长形参 *args
接收所有位置实参,然后以元祖的形式保存下俩,只接收位置参数,不接收关键字实参

可变长形参 **kwargs
接收所有的关键字实参,然后以字典得形式保存下来

猜你喜欢

转载自www.cnblogs.com/linjiahua/p/12239737.html