python变量前加*号的含义

本文介绍了Python中*号在关键字参数和位置参数中的作用。关键字参数使用双星号**,允许传递任意数量的关键字参数,这些参数会被收集到一个字典kwargs中。位置参数则使用单星号*,使函数能接受任意数量的位置参数,这些参数被收集到一个元组args中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 关键字参数:
在参数名之前使用2个星号来支持任意多的关键字参数。
>>> def accept(**kwargs):
...     for keyword, value in kwargs.items():
...         print "%s => %r" % (keyword, value)
...
>>> accept(foo='bar', spam='eggs')
foo => 'bar'
spam => 'eggs'

注意:kwargs是一个正常的python字典类型,包含参数名和值。如果没有更多的关键字参数,kwargs就是一个空字典。

2. 位置参数:
### Python变量命名规则和规范 #### 基本规则 Python变量命名需严格遵守特定的语法规则,这些规则确保程序能够正常运行并保持良好的可读性。 1. **组成成分** 变量名仅能由字母(a-z, A-Z)、数字(0-9)以及下划线 `_` 组成[^4]。任何其他特殊字符均不可用于变量命名。 2. **首字符约束** 变量名不能以数字作为开头。例如 `1variable` 是非法的,而 `variable1` 则是合法的。 3. **关键字冲突** 不得使用 Python 预留的关键字或内置函数名称作为变量名。例如 `if`, `else`, `for`, 或者 `list`, `str` 等均为非法变量名。 #### 推荐实践 为了提高代码质量与团队协作效率,开发者应遵循以下推荐规范: 1. **描述性强的名字** 使用具有实际意义的词语来定义变量名,从而提升代码的易理解程度。例如,相较于单一字符 `x` 和缩写形式 `cnt`, 更建议采用完整的表达方式如 `count_of_students` 来增强其含义传递效果。 2. **统一风格的小写字母下划线分割** 对于多词构成的复合型变量名而言,普遍接受的做法是以全小写的英文字母组合而成,并通过下划线连接各个独立部分;像这样做的好处在于它既直观又易于辨认——实例有 `total_price_including_tax` 这样的结构化良好名字。 3. **避免嵌入数据类型的提示信息** 考虑到 Python 属于动态类型语言这一特性,在创建新实体的时候没有必要特意注明它的类别属性。因此诸如 `iValue`, `names_list`, `dict_obj` 此类包含了具体种类暗示的内容并不被提倡使用[^2]。 4. **区分大小写敏感度** Python 对待不同大小写的同一字符串视为完全不同的个体对待。所以即使只是简单地改变某个标识符中的某几个位置上的字体高低差异也会造成截然相反的结果表现出来。举个例子来说吧,“Student”跟“student”就是两个互不相干的东西哦!而且更进一步讲的话呢?如果我们在同一个作用域里面同时存在这两个版本的形式话,则可能会引起混淆甚至错误的发生几率增大不少呢~ 所以说啊,在日常编写过程中最好还是坚持只选用其中一种固定模式比较好啦~比如说全部都用小写形式之类的哈~ 以下是按照上述原则编写的示范代码片段: ```python # 合适的例子 number_of_apples = 5 # 描述性的变量名 is_active_user = True # 清晰表明布尔值用途 user_email_address = "" # 明确指代邮箱地址 # 不合适的例子 n = 7 # 缺乏描述性 isActiveUser = False # 驼峰式不符合 PEP8 标准 EMAIL_USER = "example.com" # 大写通常保留给常量 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值