位置参数:严格看顺序
最基本的传参方式:调用时的值按位置一个个塞进参数。第一个值给第一个参数,依此类推。
def divide(a, b):
return a / b
divide(10, 2) # 5.0
divide(2, 10) # 0.2,顺序反了结果就反电脑只看位置、不管你心里想给谁,所以位置千万别排错。
默认值参数:不传就用预设
像套餐的「标准配置」:定义时给参数一个默认值,调用时不传它就自动用默认,传了就覆盖。
def price(amount, tax=0.1):
return amount * (1 + tax)
price(100) # 用默认 0.1 → 110.0
price(100, 0.2) # 覆盖成 0.2 → 120.0注意:带默认值的参数必须排在没默认值的参数后面。
关键字参数:直接点名
调用时用 参数名=值 指名道姓地传,不用记顺序,顺序还能随便打乱:
def make(name, drink, spicy):
...
make(spicy="微辣", name="小明", drink="可乐")参数一多时,关键字参数能让调用读起来像句人话,大大降低传错的概率。
返回多个值(其实是元组)
函数能一口气返回好几个结果,用逗号隔开:
def min_max(nums):
return min(nums), max(nums)
low, high = min_max([3, 9, 1]) # low=1, high=9真相是:return a, b 背后 Python 把它们打包成一个元组(逗号串起来的一组值,可看作只读的列表)。左边 low, high = ... 再把这个包拆开分给两个变量,这个动作叫解包。左右两边的个数必须一样,否则报错。