鱼C论坛

 找回密码
 立即注册
查看: 147|回复: 3

[技术交流] 代码中的x for x in args代表什么意思?

[复制链接]
发表于 2024-10-26 23:40:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有如下一段代码:
class CList:
        def __init__(self, *args):
                self.value = [x fox x in args]

代码中的"x fox x in args" 表示什么意思呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-10-26 23:40:32 | 显示全部楼层
在 Python 中,`x for x in args` 是列表解析(列表推导式)的一部分。

完整的结构通常是 `[x for x in args]`,它用于创建一个列表:

- `x` 表示要包含在列表中的元素。
- `for x in args` 表示从 `args` 中逐一取出元素 `x`。

所以,`[x for x in args]` 会遍历 `args` 元组,把每个元素 `x` 放进列表中。

在你的代码中,如果 `self.value = [x for x in args]`,这表示`self.value` 会包含所有传入的参数,存储在一个列表里。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-27 00:18:07 | 显示全部楼层
本帖最后由 jackz007 于 2024-10-27 01:30 编辑

        在 Python 语言中,* args 常被用在函数定义中,表示这个函数可以接收可变数量的参数,请考查下面的代码:
def foo(* args):
    r = ''
    for x in args :
        r += x
    return r

print(foo('f','i','s','h','C'))

        【运行实况】:
D:\[exercise]\Python>python x.py
fishC

D:\[exercise]\Python>

        正如结果所见,在这个例子中,函数  foo() 一共接收了 5 个参数,其作用,是把所有的输入参数拼接为一个字符串。
        把这个例子稍加改动,就可以看到语句 [x for x in args] 的作用了。
def foo(* args):
    return [x for x in args]

print(foo('f','i','s','h','C'))

        【运行实况】:
D:\[exercise]\Python>python x.py
['f', 'i', 's', 'h', 'C']

D:\[exercise]\Python>

        正如结果所见,在这个例子中,函数  foo() 一共接收了 5 个参数,其作用,是把所有的输入参数放入一个列表中。
d = [x for x in args]
        完全等同于
d = []
for x in args:
    d . append(x)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2024-10-27 16:58:51 | 显示全部楼层
jackz007 发表于 2024-10-27 00:18
在 Python 语言中,* args 常被用在函数定义中,表示这个函数可以接收可变数量的参数,请考查下面 ...

非常好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表