• 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

    可变长实参*

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

  • 相关阅读:
    BZOJ3473: 字符串
    BZOJ1088: [SCOI2005]扫雷Mine
    跪啃SAM
    BZOJ3932: [CQOI2015]任务查询系统
    BZOJ3545: [ONTAK2010]Peaks
    06.约束
    05.数据表的创建与简单操作
    04.数据库的创建
    安卓6.0后运行时权限封装
    OkGo使用缓存
  • 原文地址:https://www.cnblogs.com/2222bai/p/11552202.html
Copyright © 2020-2023  润新知