5、Python 函数、类与作用域深度解析

Python函数、类与作用域精讲

Python 函数、类与作用域深度解析

1. 函数参数详解

1.1 位置与关键字参数冲突

在函数调用时,如果同时使用位置参数和关键字参数给同一个变量赋值,会引发错误。例如:

# 错误示例
# 这里先通过位置参数将 1 赋给 a,2 赋给 b,又通过关键字参数将 3 赋给 b,导致冲突
# 代码中未给出函数定义,假设函数为 def func(a, b): pass
# func(1, 2, b=3)  # 这行代码会引发 TypeError

1.2 显式位置/关键字参数

函数签名中可以使用 / * 来明确指定参数是位置参数还是关键字参数。 / 左边的参数只能是位置参数, * 右边的参数只能是关键字参数,两者之间的参数可以是任意一种。示例如下:

def greet(name, /, title, *, punctuation):
    return f"Hello {name}, {title}{punctuation}"

print(greet("Ricky", "Esq", punctuation="!"))
# 以下调用会报错,因为 '?' 不能作为位置参数传递给关键字参数位置
# greet("Ricky", "Esq", "?")  

1.3 默认值参数

函数签名可以使用赋值运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值