gpt4 book ai didi

python - 这里涉及什么概念? Python 和 R 中的示例。

转载 作者:太空狗 更新时间:2023-10-29 20:31:31 25 4
gpt4 key购买 nike

我正在努力寻找合适的语言来描述以下概念。也许有人可以帮助我。

这是一个关于编程的一般性问题,但我将使用 Python 和 R 作为示例。

在 Python 中,我们可以像这样把一些东西放入字典中

myData = {}
myData["myField"] = 14

例如,在 R 中,使用 data.table 包,我们可以编写如下内容

data = data.table(x = c(1, 2, 3))
data[,myField: = x^2]

它们做不同的事情,但比较它们每个的第二行。在 Python 中,"myField" 是一个字符串。在 R data.table 示例中,没有字符串。 R 示例有点不错,因为它可以节省您的输入时间,但如果要编写一个 myField 是变量的程序,它会给您带来麻烦。在 Python 中这很简单,因为你可以这样做

myData[myVariable] = 14

myVariable 被定义为另一个字符串。在 R 中,您也可以这样做,但必须使用不同的语法,这意味着您必须知道两种完全不同的语法编程方式。

我的问题:这叫什么?我知道它与范围规则有关(也许是元编程?),但无法找到合适的语言。任何人?

最佳答案

我相信这种编程语言的“特性”被称为“裸字符串”。

PHP 也有(弃用的)支持:Why is $foo[bar] wrong?

它被广泛认为是一个非常糟糕的想法,因为存在与变量或常量名称重叠的风险,并且在生产代码中绝对应该避免。然而,JavaScript 在避免这些问题的想法上有一个有趣的转折:

var obj = { key: "value" };

您可以在不使用引号的情况下在内联对象上定义键。这是有效的,因为您不能以另一种方式进行 - 键被解析为字符串,而不是变量名。我发现在只使用字典中预定义键的程序中,这是一个非常有用的权衡。作为引用,Python 版本需要引号,但允许您使用变量,如您所演示的:

obj = { "key": "value", key_var: "value" }

关于python - 这里涉及什么概念? Python 和 R 中的示例。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21385985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com