【问题标题】:Why Is There No Syntax Error In This Code? [duplicate]为什么这段代码没有语法错误? [复制]
【发布时间】:2021-08-08 14:50:38
【问题描述】:

我忘记在“dog.bark”的末尾添加括号来调用该方法,但是,它不会引发语法错误。这是为什么呢?

class Dog:
  sound = "Woof"

  def __init__(self, age):
   self.age = age

  def bark(self):
   print(self.sound)

dog = Dog(27)
dog.bark

【问题讨论】:

  • 不提供括号不是语法错误
  • 不调用函数不是语法错误。您的最后一行代码没有任何效果,就像 dog.sounddog.age 都没有任何效果一样,同样也不是语法错误。

标签: python methods attributes


【解决方案1】:

SyntaxError:

Python 在将源代码转换为字节码时会产生语法错误。它们通常表明程序的语法有问题。

只是dog.bark 将引用该函数。这是完全有效的。有时,您一定会收到一些奇怪的消息,告诉内存位置的某个函数名称。那是因为它打印了被引用而不被调用的函数。

Python 会像往常一样简单地解释它。语法没有错

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多