点击蓝字
关注我们
【Python小白速通】给函数设参数?说白了就是"给干活的留备注"!
咱之前唠过定义函数、调用函数,就像给重复活儿"打包成快捷键",但光有快捷键还不够——泡咖啡要"少糖"、算奶茶要"加珍珠",这些"个性化要求"咋告诉函数?答案就是给函数设参数!
简单说,参数就是你给函数的"备注信息",比如点外卖时备注"多放辣、少放醋",函数照着备注干活,再也不用每次改代码,主打一个"灵活又省心"!
一、先唠透:啥是函数参数?(纯人话版)
先掰碎了说,不整专业术语:
- 函数:你打包好的"干活模板",比如"泡咖啡()""算奶茶总价()";
- 参数:给模板留的"填空位",比如泡咖啡的模板里留"____分糖""____ml奶";
- 设置参数:就是在定义函数时,把这些"填空位"写出来,让函数知道"需要啥信息才能干活"。
举个栗子:你把"泡咖啡"做成函数,要是没设参数,函数只会做"默认全糖全奶";设了"糖度、奶量"参数,你喊它干活时说"3分糖、200ml奶",它就按这要求做——参数就是函数的"个性化开关"!
二、实操!4种参数设置姿势,小白也能秒会
咱从最简单的"必传参数"开始,一步步解锁,代码都标了"人话注释",复制就能跑~
姿势1:最基础的"必传参数"(不给就罢工版)
这是最常用的参数,就像点奶茶必须选"甜度",不传的话函数直接"撂挑子",新手先拿捏这个!
python
#定义函数:设置"sugar"(糖度)为必传参数,不传就做不了咖啡
def make_coffee(sugar):
print(f"✅ 咖啡做好啦!糖度:{sugar}分")
#调用函数:必须传糖度,不然报错!
make_coffee(3) # 传3分糖,正常干活
#make_coffee() # 不传参数?Python直接报错:"少东西了!糖度呢?"
👉 运行结果:
✅ 咖啡做好啦!糖度:3分
姿势2:带"默认值"的参数(懒人友好版)
怕忘传参数?给参数设个默认值,比如默认"5分糖",不传就按默认来,像外卖备注"没说甜度就做正常糖"!
python
#定义函数:sugar默认5分糖,milk默认250ml
def make_coffee_v2(sugar=5, milk=250):
print(f"✅ 咖啡做好啦!糖度:{sugar}分,奶量:{milk}ml")
#调用函数1:啥都不传,用默认值
make_coffee_v2()
#调用函数2:传1个参数,覆盖糖度,奶量还用默认
make_coffee_v2(2)
#调用函数3:传2个参数,全覆盖
make_coffee_v2(0, 200)
👉 运行结果:
✅ 咖啡做好啦!糖度:5分,奶量:250ml
✅ 咖啡做好啦!糖度:2分,奶量:250ml
✅ 咖啡做好啦!糖度:0分,奶量:200ml
姿势3:"按名字传"的关键字参数(防乱版)
参数多了怕传错顺序?比如函数要"糖度、奶量",你怕把"3分糖"传成"3ml奶",就给参数贴标签,像外卖备注"甜度:3分,奶量:200ml"!
python
#定义函数:两个参数,糖度+奶量
def make_coffee_v3(sugar, milk):
print(f"✅ 咖啡做好啦!糖度:{sugar}分,奶量:{milk}ml")
#调用函数:按参数名传,顺序乱了也不怕!
make_coffee_v3(milk=200, sugar=3) # 先传奶量再传糖度,照样对
👉 运行结果:
✅ 咖啡做好啦!糖度:3分,奶量:200ml
姿势4:能传"任意多个"的参数(万能版)
不知道要传多少参数?比如算"多杯奶茶总价",可能2杯、3杯、5杯,用`*args`就能随便传,像点外卖"要1杯珍珠、1杯芋泥、2杯原味"!
python
#定义函数:*args接收任意多个奶茶价格,算总价
def calc_milk_tea_total(*args):
total = sum(args) # sum()是Python自带的求和函数
print(f"✅ 奶茶总价:{total}元")
#调用函数:传2个价格
calc_milk_tea_total(18, 20)
#调用函数:传4个价格,照样行
calc_milk_tea_total(15, 18, 22, 19)
👉 运行结果:
✅ 奶茶总价:38元
✅ 奶茶总价:74元
三、避坑小彩蛋:新手最容易踩的3个坑
1. 默认参数别用可变值:别给参数设默认值为`[]`(空列表)、`{}`(空字典)!比如`def func(a=[]):`,多次调用会让列表越变越长,像奶茶默认加珍珠,结果越喝珍珠越多,纯纯踩坑~
2. 参数顺序要注意:必传参数要放前面,默认参数放后面!比如`def make_coffee(sugar=5, milk):`会报错,Python会懵:"到底哪个是必须传的?"
3. 关键字参数别插队:调用时,关键字参数要放在普通参数后面!比如`make_coffee_v3(sugar=3, 200)`会报错,得写成`make_coffee_v3(3, milk=200)`,不然Python会"看不懂顺序"。
总结
1. Python函数参数就是给函数的"个性化备注",核心分必传参数、默认参数、关键字参数、可变参数四种;
2. 新手先掌握必传参数+默认参数,再学关键字参数(防传错)、可变参数(传多个值);
3. 记住"必传参数在前、默认参数别用可变值、关键字参数不插队",能避开90%的参数设置坑。

扫码关注我们
知识奇妙世界