DAY10 函数基础 定义函数的三种方式 函数的调用 函数参数的应用 可变长参数

函数

定义阶段

只识别语法,不执行函数体代码

调用阶段

执行函数体代码

定义:

def 函数名():
    代码块

三种形式的函数

无参函数

def 函数名():
    代码块

有参函数

def 函数名(参数1,参数2,...):
    代码块

空函数

def 函数名():
    pass   # 以后再写

函数的返回值

返回值是通过return关键字返回的

def 函数名():
    pass  # 默认返回None

最多的情况就是返回一个值

def self_max(x, y):
    if x > y:
        return x
   	else:
        return y
    
max_num = self_max(10,20)  day20
print(max_num * 2)  # 40
def get_list():
    return [1,2,3],len([1,2,3])


get_list()  # ([1,2,3], 3)

# 返回多个值得时候,会使用元祖接收多个值

return除了有返回值得作用,还有中止函数的作用,即不运行return后面的代码,也就是说一个函数可以有多个return,只要遇到了return就终止

函数的调用

普通的调用

def f1():
    pass


f1()

调用后做处理

def self_max(x, y):
    if x > y:
        return x
   	else:
        return y
    
max_num = self_max(10,20)  day20
print(max_num * 2)  # 40

函数参数的应用

形参

定义阶段的参数,叫做形参,形参只有描述意义,不是一个具体的值

实参

调用阶段传入的值,是一个具体数据类型的值

def f1(x, y):
    return x + y

z = f1(1, 2)
print(z)

位置形参

从左到右放入

位置实参

从左到右与形参一一对应

默认形参

def f1(y, x=1):
    return x + y

z = f1(2)  # y=2, x=1
print(z)

一般用于形参经常使用同一个值得时候,默认形参必须在位置形参的后面

关键字实参

def f1(x, y, a):
    return x + y + a

z = f1(1, y=2, a=1)  # y=2, a=1
print(z)

一般用于参数较多的时候,指定传值,可以打乱顺序传值,关键字实参必须得在位置实参的后面

可变长参数

*

*形参

def f1(*args):
    print(args)
    return args

f1(1,2,3,4,5,6,7,8)  # (1, 2, 3, 4, 5, 6, 7, 8)

*实参

def f1(a,b,c,d):
    print(a,b,c,d)  # 1 2 3 4

tup = (1,2,3,4)
f1(*tup)  # f1(1,2,3,4)

**

**形参

def f1(**kwargs): # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'f': 5}
    print(kwargs)

f1(a=1,b=2,c=3,d=4,f=5)

**实参

def f1(a,b,c,d,e):
    print(a,b,c,d,e)  # 1 2 3 1 2

dic = {'d':1,'e':2}  # **dic  ==> d=1,e=2
f1(1,2,3,**dic)  # f1(1,2,3,d=1,e=2)

最终(*****)

def f1(*args,**kwargs):
    print(args,kwargs)

f1(1,2,3,4,5,5,6,6,a=1,b=2,c=4)  # 位置实参,关键字实参
posted @ 2025-08-07 18:13  CHENHANG123  阅读(8)  评论(0)    收藏  举报