当前位置: 首页 > 面试题库 >

数字是否被视为python中的对象?

马坚
2023-03-14
问题内容

我知道数值在python中是不可变的。我还阅读了Python中的所有对象。我只想知道数字类型是否也是python中的对象。因为如果它们是对象,那么变量实际上是引用变量,对吗?这是否意味着如果我将数字传递给函数并在函数内部对其进行修改,则会创建带有两个引用的两个数字对象?python中有原始数据类型的概念吗?

注意:我也认为它是对象。但是在python导师中进行可视化显示会有所不同:http
://www.pythontutor.com/visualize.html#mode=edit


def test(a):
    a+=10
b=100
test(b)

还是可视化工具中的缺陷?


问题答案:

数字类型是对象吗?

>>> isinstance(1, object)
True

显然他们是。:-)。

请注意,您 可能 需要object稍微调整一下心理模型。在我看来,您正在考虑将其object视为“可变”的东西-
并非如此。实际上,我们需要将python名称视为对对象的引用。该对象可以保存对其他对象的引用。

name = something

在此评估右侧-所有名称都解析为对象,并且表达式(对象)的结果由“名称”引用。

好的,现在让我们考虑将某些内容传递给函数时会发生什么。

def foo(x):
   x = 2

z = 3
foo(z)
print(z)

我们期望在这里发生什么?好吧,首先我们创建函数foo。接下来,我们创建对象3并通过name引用它z。之后,我们查找z引用的值并将该值传递给foo。输入后foo,该值将由(本地)名称引用x。然后,我们创建对象2并通过本地名称引用它x。注意,x与全局z无关-
它们是独立的引用。仅仅因为他们在输入函数时就引用了同一对象,并不意味着他们必须始终引用该函数。我们可以使用赋值语句随时更改名称所引用的内容。

请注意,与+ =您的例子可能看起来复杂的事情,但你能想到的a += 10a = a + 10,如果有帮助在这方面。



 类似资料:
  • 问题内容: 在Java中,数字类型都从Number衍生而来,所以我会使用 什么是python等效项? 问题答案: 测试您的变量是否是的实例: 这将使用ABC,并且将适用于所有内置的数字类,并且如果它们值得使用,则也适用于所有第三方类(已注册为ABC的子类)。 但是,在许多情况下,您不必担心手动检查类型- Python是鸭子类型的,通常可以混合使用一些兼容的类型,但是当某些操作没有意义时()它会阻止

  • 问题内容: 我刚刚看过有关Inside的讨论。 您可以看到该函数之后,该函数将被React调用。当您进行呼叫时,不仅使整个组件树都被重新渲染,不仅是当前组件- 别忘了,当前组件刚刚完成了渲染。 有些人建议把电话打进去。在某些情况下,我想获取渲染元素的高度并将其存储为状态,而上述方法将不起作用。我还浏览了React的官方网站,它建议在内部进行Ajax调用,这再次违背了上述想法。 那么,放进去我是否错

  • 问题内容: 据我了解,一个由固定数量的元素组成,一个与您传递(相同类型)的参数数量一样多。但是他们是一样的吗?我可以通过一个期望的地方吗? 问题答案: 是的,如果您有一个带有varargs参数的方法,例如: 您这样称呼它: 然后编译器将其转换为: 参数的类型为,可以像其他数组变量一样使用。请注意,它 可能 仍然是: 有关更多信息,请参见varargs的文档。 但这 并不 意味着可变参数与阵列互换-

  • 问题内容: 我大致认为使用iframe是“不好的做法”。 这是真的?使用它们的优点/缺点是什么? 问题答案: 与所有技术一样,它也有起有落。如果您要使用iframe到一个经过适当开发的网站周围走走,那当然是个坏习惯。但是,有时iframe是可以接受的。 iframe的主要问题之一与书签和导航有关。如果您使用它只是将页面嵌入内容中,我认为很好。这就是iframe的用途。 但是我也看到iframe也被

  • 问题内容: 我正在尝试制作一个程序来检查单词是否是回文,并且到目前为止,它可以与具有偶数个数字的单词一起使用。我知道如果字母的数量为奇数时如何使它起作用,但是我只是不知道如何确定数字是否为奇数。有什么简单的方法可以找到数字是奇数还是偶数? 仅供参考,这是我的代码: 谢谢 问题答案: if num % 2 == 0: pass # Even else: pass # Odd 该符号就像除法一样,仅检

  • 问题内容: 我已经在SO中看到了很多复杂的问题,无论某个复杂的结构是否被视为有效的JSON。 但是在频谱的另一端呢? 以上是有效的JSON吗? 问题答案: 是的,在大多数情况下。这是表示JSON值的有效JSON语法。 对此的困惑来自于Douglas Crockford的RFC 4627 ,它最初于2006年定义了互联网媒体类型。它说: JSON文本是序列化的对象或数组。 但是,正如Crockfor