Tiny_Lu
不忘初心

day 10 函数定义/参数

函数的定义

函数就相当于将代码封装起来,变成一个可以直接使用的工具

def 函数名(参数1, 参数2, ...):
    代码块
    return 返回值

使用函数的好处:

  1. 增加代码可读性
  2. 增加代码扩展性

定义函数的三种形式

空函数

def func():
    pass

只知道你需要建立这个函数,但暂时不写时,可以先用空函数预留位置

无参函数

def min():
    x = 10
    y = 20
    if x > y:
        return y
    else:
        return x

函数定义阶段括号内没有参数,调用的时候也不需要放入参数

如果函数体代码逻辑不需要依赖外部传值,必须得定义成无参函数

有参函数

def min(x, y):
    if x > y:
        return y
    else:
        return x

函数定义阶段括号内有参数,调用的时候也必须传入参数

如果函数体代码逻辑需要依赖外部传值,就必须定义成有参函数

函数的返回值

函数内部经过一系列的逻辑处理得到的结果

函数中用return来返回值

return的特性:

  1. 可以终止函数,函数中可以有多个return,只要执行到return,函数就终止
  2. 可以同时返回多个值,如果没有返回值,则默认返回None
  3. 返回的值可以是任意类型

函数的调用

def min(x, y):
    if x > y:
        return y
    else:
        return x
    

min(10, 20)
print(min(10, 20))
min(min(55,66),77)

函数的参数

形参

在函数定义阶段括号内定义的参数,本质是变量名

位置形参

在函数定义阶段,依次按从左到右的顺序定义的参数称为位置形参

默认形参

在函数定义阶段,就已经被赋值的参数叫做默认形参,调用是可以不用传入参数,默认为已经赋予的值,如果传入参数,就会重新被赋值

默认参数必须在位置参数的右边

实参

在函数调用阶段传入的参数,本质是变量的值

位置形参

在函数调用阶段,依次按从左到右的顺序传入的参数被称为位置实参

关键字实参

在函数调用阶段,按照key=value的形式为指定的参数进行值的传入,称为关键字实参

关键字实参必须在位置参数的右边

可变长参数

可变长形参*

函数定义阶段,可以用*来接收传入的多个位置实参,然后以元组的方式存储,然后把元组赋值给*后边的参数,需要注意的是:约定俗成的形参名称为args

def func(*args):
    for i in args:
        print(i)
        
func(1, 2, 3, 5)

1
2
3
5

可变长实参*

实参中的会将*后参数的值循环取出,打散成位置实参。以后但凡碰到实参中带*的,它就是位置实参,应该马上打散成位置实参去看。

posted @ 2019-09-19 19:58  二二二二白、  阅读(388)  评论(0编辑  收藏  举报