【发布时间】:2020-12-24 03:44:02
【问题描述】:
我现在正在学习 JavaScript。我在课堂上了解到 JavaScript 字典是对象。老师这样说的方式暗示python字典不是。在我看来,python 字典是“字典”类的一个实例。这意味着在 JavaScript 中my_dict['key1'] 将返回关联的value1,但my_dict.key1 也将返回。在 python 中,my_dict.key1 会告诉你“字典”类中没有方法key1。虽然我知道如何使用 python,但我对编程的一般知识是相当一周的。我的问题是:
- Python 字典和 JavaScript 字典有什么区别
- “JavasScript 字典是对象”与推论“Python 字典不是对象”的含义是什么(如果这是真的)?
- 这对我在使用字典时应该如何看待 Python 和 JavaScript 编程有何影响?
【问题讨论】:
-
这在几个方面是偏离主题的。看来您是在要求我们为您提供教程概述——可通过 Python dict 教程获得的知识。你问了多个问题。你问开放式问题。你的措辞邀请意见。您要求提供资源建议。
-
"老师说这句话的方式暗示python字典不是。"嗯,他们是。 Python 中的 Everything 是一个对象。事实上,Javascript 有原始类型,而 python 没有。在任何情况下,Python 字典和 Javascript 对象实际上是不同的,至少它们应该是不同的。 Python 字典是 maps,相当于 Javascript Map。 JS 对象的等价物是从类创建的 Python 实例,这些语言有两种不同的继承模型
-
@Prune 我倾向于同意这一点,但我也认为这是造成误解的根本原因,因为它们的语法非常相似,但存在重要差异,从概念上讲它们应该被视为非常不同。
-
注意,Javascript 没有字典,那些是 Javascript 对象。它们使用与 Python
dict文字类似的 语法,但它们在概念上有所不同,尽管所有对象本质上都是从它们的属性到它们的属性值的映射。但是Python字典的直接等价物是JS Map -
另外,这个讨论在我遇到的问题中对我非常有用,所以我想知道它对其他人是否有用。
标签: javascript python dictionary