day10 函数

day10 函数

把重复代码写成一个通用模版

可以把冗余的代码独立开

把工具事先准备好

定义函数

def 函数名():
代码快

函数名:需要具有某种意义
代码块,实现具体的功能

使用函数:
函数()

一个函数分为两个阶段,分别是定义和调用

定义函数的三种形式

函数的参数
函数的返回值
函数的可变长参数

函数只是一种思想,干活的具体实现都是靠if/while/for+变量,函数只是帮你干活更轻松

第一种定义方式,无参函数

def self_max():
    x,y=10,20
    if x>y:
        print(x)
    else:
        print(y)

第二种定义方式,有参函数

def self_max(x,y):
    if x>y:
        print(x)
    else:
        print(y)

第三种定义方式,空函数

def self_max():
    pass

函数返回值

return 默认返回None
return 可以返回任意数据类型的数据
当return 返回多个值的时候,会以元组的形式把多个值包在一起
return 会终止函数

函数的两个阶段

  1. 定义阶段:定义阶段的x和y被称为形参,形参具有描述意义,类似于变量名,不为具体的数据类型
  2. 调用阶段:调用阶段的x和y被称为实参,实参必须是具体的某种数据类型

形参

默认形参:值不需要改变,并且经常使用,默认形参必须在位置形参后面
关键字形参:在函数定义阶段,提前赋值给形参

关键字实参

用于函数调用阶段,找到与形参的对应关系,并赋值给对应的形参

面试经常问,不推荐使用

可变长实参

def selfmax(a,b,c,d,e,f,g,h=1,g=3)
    print(a,b,c,d,e,f,g,h)
a= [1,2,3,4,5,6,7,8,9] # *会把元组或者列表打散一个个做为实参传个函数
b= {'x':10,'y':12}  # **会把这个字典达三成键值对的形式做为实参传给函数
selfmax(*a,**b)

可变长形参

def self_max(*a,**b)
    print(a)
    print(b)

self_max(1,2,3,4,5,6,7,x=6,y=9,z=20)

*a 接收了所有的位置实参,然后以元组的形式保存下来
**b 接受了所有的关键字参数,然后以字典的形式保存下来

约定俗成

"*" 后面必须得写args,"**"后面必须得写kwargs,约定俗称的一种规范

原文地址:https://www.cnblogs.com/wsxiaoyao/p/10946656.html