在一些示例代码中,我看到使用了以下语法:
float1 = 7.0
float2 = 2.0
result = (int)(float1/float2)
重点似乎是将结果强制为整数,但我找不到任何地方记录正在使用的(int)
语法,或者为什么它比int(float1/float2)
更好。对int()本身的调用应该返回0,但是(0)(float1/float2)
抛出一个TypeError并抱怨0不是可调用的。很明显,解释器正在尝试执行int()引用,但我不清楚为什么它希望在那里找到一个可调用的。你知道吗
有人能给我指一些关于这个语法的文档吗?你知道吗
Tags:
(int)
计算为int
,所以与相同
不建议在空变量名周围放置不必要的括号。你知道吗
在这个代码中:
result = (int)(float/float2)
(int)
是一个表达式,对其求值以返回int
函数。然后用一个参数调用,表达式float/float2
。你知道吗它不适用于
(0)
,因为该表达式的结果是一个数字,它不是一个可调用的类型,与TypeError
状态完全相同。你知道吗无论是谁编写了这些代码,都有太多的机会接触到比Python更接近C的语言。在C、C++、爪哇、C等中,^ {CD1}}是将^ {< CD2> }转换为^ {CD3}}的语法。在Python中,拼写
int(something)
的方式很奇怪。int
是将something
转换为int
的内置函数。你知道吗一般来说,其他表达式
<expr>
的Python表达式(<expr>)
的计算结果与<expr>
相同。paranethes只能影响优先级,但在本例中它们不会。同样地,<expr>(...)
计算<expr>
,然后调用结果注意<expr>
也可以是任何表达式,它不限于简单的函数名。你知道吗(x)(y)
与x(y)
相同。(int)(y)
有效是因为int(y)
有效。(0)(y)
不起作用,因为0(y)
不起作用。你知道吗相关问题 更多 >
编程相关推荐