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

为什么python为什么在“。”之后的对象和方法名称之间要留空格?

越伟泽
2023-03-14
问题内容

有谁知道为什么python允许您在对象和称为“”的方法名称之间添加无限量的空格。?

这里有些例子:

 >>> x = []
 >>> x.            insert(0, 'hi')
 >>> print x
 ['hi']

另一个例子:

>>> d = {}
>>> d            ['hi'] = 'there'
>>> print d
{'hi': 'there'}

对于类也是如此。

>>> myClass = type('hi', (), {'there': 'hello'})
>>> myClass.            there
'hello'

我使用的是python 2.7,我尝试过进行一些Google搜索并查看python源代码,但找不到任何允许这样做的原因。


问题答案:

.就像一个运营商。你可以做obj . attr同样的方式,你可以做this + thatthis * that等。该语言参考说:

除逻辑行的开头或字符串文字外,空格字符空格,制表符和换页符可互换使用以分隔标记。

由于该规则是如此笼统,因此我将假定执行此代码的代码是在解析过程的早期。它没有特定于.。它只是忽略除行首或字符串内的所有空白。



 类似资料:
  • 问题内容: 我刚刚开始学习Python,并在Python中遇到了 “命名空间” 概念。虽然我了解了它的本质,但无法理解这个概念的严重性。 网上的一些浏览显示,反对PHP的原因之一是它没有对名称空间的本地支持。 有人可以解释如何使用名称空间以及此功能如何使编程更好 (不只是在Python中,因为我假设名称空间的概念不限于特定语言)。 我主要来自Java和C编程背景。 问题答案: 命名空间是一种实现范

  • 根据Spring Doc API http://docs.Spring.io/Spring-framework/docs/current/javadoc-api/index.html?org/springframework/web/context/contextloaderlistener.html- 这个(ContextLoaderListener)监听器应该注册在web.xml中的Log4jC

  • 问题内容: 什么是PHP命名空间? 一般而言,命名空间是什么? 一个有例子的Layman答案会很棒。 问题答案: Namespacing对函数和类起作用,而作用域对变量起作用。它允许您在同一程序的不同部分中使用相同的函数或类名称,而不会引起名称冲突。 简单来说, 将名称空间视为一个人的姓氏 。如果有两个人名为“ John”,则可以使用他们的姓氏来区分他们。 场景 假设您编写了一个使用名为的函数的应

  • 问题内容: For 输出,而for 一些地址输出。当我们想要输出值时,我们可以像使用一样使用它们。 我只是想知道为什么我们不能直接调用以获得值。这样做不是更直观,更方便吗?是什么导致对和的不同处理? 问题答案: 数组和数组列表之间的主要区别在于,数组列表是用Java编写的类,具有自己的实现(包括覆盖的决定),而数组是语言规范本身的一部分。JLS 10.7 特别指出: 数组类型的成员都是以下所有:

  • 问题内容: 考虑一下这个功能: 有人可以解释一下为什么L1和L2显然无法到达时没有给出警告,而L3却给出了警告。 问题答案: 因为就编译器而言,这只是另一个方法调用。 它所做的是结束过程这一事实只能从实现中找到(这是本机代码,而没有任何区别)。 如果你必须把你的代码(通常也最好避免它,除非你想返回0以外的代码),它应该是一个方法,返回,例如。这样更好。 关于可达性,解释是相同的:是Java语言的关