与行动秩序斗争。我是不是想得太多了?

2024-03-28 14:16:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了以下信息,我被要求给出值的类型和它返回的表达式:

>>> b = 10

>>> c = b > 9

>>> c

我知道在第一部分中,我们将b定义为10,但在第二句中,我将其解释为:定义c等于b>9。现在b>9作为一个值,没有意义,所以c不能等于它,所以我说答案是error,类型是Nonetype。你知道吗

正确的答案显然是True,但为什么呢?为什么我们要先选c=b部分,然后再问它是不是>;9?有没有什么标准的顺序,你应该应用这些东西?你知道吗

PS:编程中的三个>>>符号是什么意思?我在上CS入门课程,所以请原谅我用词不当。你知道吗


Tags: 答案gt信息true类型标准定义顺序
2条回答

Python的优先顺序是well documentedb > 9返回一个布尔值,必须先对其求值,然后才能用c =赋值。你知道吗

并且>>>是解释器REPL的一部分。它并不是对所有编程语言都有特定的意义。你知道吗

您可以在任何Python解释器中运行代码,以查看输出值是什么。我不知道你说的非类型错误是什么意思,因为在这些行中,没有任何值被计算为无

我想你会混淆:

  • 赋值运算符(=),它将运算符右侧的表达式的结果赋给运算符左侧的变量,并
  • 相等运算符(==),用于测试运算符左右两侧的表达式是否相等,并返回布尔值(真/假)。你知道吗

第一个表达式将值10赋给变量b。第二个表达式将计算结果为true的表达式b > 9(即10>;9)赋给c。因此,我希望你能看到c最终是如何成为现实的。你知道吗

您可能需要澄清的另一个问题是=操作符是右关联的,这意味着操作符右侧的表达式将首先求值。i、 e.在第二行中,在将结果(true)赋给c之前,首先对b > 9求值。你知道吗

回答你问题的第二部分。你的代码实际上不会像普通C编译器那样编译。我不确定>>>是什么。你用的是在线编辑还是什么?你知道吗

有效的C代码是:

int b = 10;
bool c = b > 9;
Console.WriteLine(c); //Outputs true

相关问题 更多 >