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

为什么我应该在Python中引用“名称”和“绑定”,而不是“变量”和“赋值”?

养鸿运
2023-03-14
问题内容

为什么我应该在Python中引用“名称”和“绑定”,而不是“变量”和“赋值”?我知道这个问题有点笼统,但我真的很想知道:)


问题答案:

在C和C ++中,变量是命名的内存位置。变量的值是存储在该位置的值。分配给变量,然后修改该值。因此,变量是存储位置,而不是其名称。

在Python中,变量是用于引用对象的名称。变量的值就是该对象。到目前为止听起来像是同一件事。但是将变量赋值给变量,您 无需
修改对象本身,而是可以更改变量引用的对象。因此变量是名称,而不是对象。

因此,如果您正在抽象地考虑Python的属性,或者一次要谈论多种语言,那么对这两种不同的东西使用不同的名称将很有用。为了使事情简单明了,您可以避免谈论Python中的变量,而将赋值运算符称为“绑定”而不是“赋值”。

请注意,Python语法将“赋值”作为一种陈述而非“绑定”来讨论。至少某些Python文档将name变量称为。因此,仅在Python的上下文中,执行相同操作并非
不正确 。行话的不同html" target="_blank">定义适用于不同的上下文。



 类似资料:
  • 我正在学习结构化绑定声明。我的理解是,

  • 问题内容: Python 2.6引入了一个功能。 为什么有这个必要?可以总是输入而不是。 后者更多吗? 问题答案: PEP 3114描述了此更改。动机摘录: 该PEP建议将该方法重命名为,与Python中所有其他协议一致,在该协议中隐式调用方法作为语言级协议的一部分,并引入一个名为的内置函数来调用方法,与显式调用其他协议的方式。 请务必阅读此PEP,以获取更多有趣的细节。 至于为什么 你 要使用内

  • 今天在课堂上,我的老师告诉我,我不应该在python中使用全局变量,因为函数应该能够独立存在。我想我可以通过参数和返回值来实现这一点?任何帮助都会很好,谢谢。

  • 问题内容: 我现在已经实现了一些Java应用程序,到目前为止仅实现了桌面应用程序。我更喜欢使用不可变对象在应用程序中传递数据,而不是使用带有变量(setter 和getter )的对象,也称为JavaBeans。 但是在Java世界中,使用JavaBeans似乎更为常见,而且我不明白为什么应该使用JavaBeans。就个人而言,如果代码仅处理不可变的对象而不是始终改变状态,则代码看起来会更好。 在

  • 问题内容: 从log.go(执行日志包): 只是一个函数包装器,为什么我应该用它代替or ? 有实际原因吗? 问题答案: 两件事不同: 通过包日志进行打印对于并发goroutine是安全的(而普通的则不是) 日志可以自动添加计时信息。 因此,这是两件完全不同的事情。log用于记录和格式化。(好吧,log使用相同的动词和标志,但这很方便)。

  • 问题内容: 我一直在研究用于自动构建的基本测试框架。下面的代码代表使用不同程序对两台机器之间的通信进行的简单测试。在实际执行任何测试之前,我想完全定义它们- 因此,下面的此测试直到声明所有测试后才真正运行。这段代码只是测试的声明。 无论如何,运行测试后,它将运行“ passIf”定义的功能。由于我想为多个客户端运行该测试,因此我要迭代它们并为每个客户端定义一个测试- 没什么大不了的。但是,在第一个