TypeError: range() integer end argument expected, got int
TypeError: range() integer end argument expected, got int
我正在使用 Squish 6.4.2 测试我的 Qt 应用程序,使用 Python 2.7.10 作为测试脚本语言,并在尝试使用 range()
函数时收到以下错误消息:
TypeError: range() integer end argument expected, got int.
这是一个小代码示例和我在 Squish 中的输出:
def main():
test.log(str(range(4)))
test.log(str(range(int(4))))
[0, 1, 2, 3]
Error: Script Error
Detail: TypeError: range() integer end argument expected, got int.
如您所见,range(4)
有效,但 range(int(4))
无效。
我在 Squish 应用程序随附的 Python 版本的 Python 控制台中尝试了 运行 相同的代码,并且 range()
调用工作。
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> range(4)
[0, 1, 2, 3]
>>> range(int(4))
[0, 1, 2, 3]
>>>
另外,当我将整数与转换的 int 进行比较时,Squish 中的比较结果是错误的。例如在 Squish 中:
def main():
test.log(str(7<4))
test.log(str(7 < int(4)))
给予
False
True
在 Python 控制台中,结果是正确的。
Squish int 不同于 Python int:
Squish's int represents the Squish type for an integer in the
wrapper's C and C++ code.
Like the other hidden symbols, to access Python's int() function one
can use it from the package __builtin__ (Python 2) or builtins (Python
3).
(其他类型也不同)
见Squish's int vs. Python's int
或者在 Squish 手册中更一般地 Python Notes。
我正在使用 Squish 6.4.2 测试我的 Qt 应用程序,使用 Python 2.7.10 作为测试脚本语言,并在尝试使用 range()
函数时收到以下错误消息:
TypeError: range() integer end argument expected, got int.
这是一个小代码示例和我在 Squish 中的输出:
def main():
test.log(str(range(4)))
test.log(str(range(int(4))))
[0, 1, 2, 3]
Error: Script Error
Detail: TypeError: range() integer end argument expected, got int.
如您所见,range(4)
有效,但 range(int(4))
无效。
我在 Squish 应用程序随附的 Python 版本的 Python 控制台中尝试了 运行 相同的代码,并且 range()
调用工作。
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> range(4)
[0, 1, 2, 3]
>>> range(int(4))
[0, 1, 2, 3]
>>>
另外,当我将整数与转换的 int 进行比较时,Squish 中的比较结果是错误的。例如在 Squish 中:
def main():
test.log(str(7<4))
test.log(str(7 < int(4)))
给予
False
True
在 Python 控制台中,结果是正确的。
Squish int 不同于 Python int:
Squish's int represents the Squish type for an integer in the wrapper's C and C++ code.
Like the other hidden symbols, to access Python's int() function one can use it from the package __builtin__ (Python 2) or builtins (Python 3).
(其他类型也不同)
见Squish's int vs. Python's int
或者在 Squish 手册中更一般地 Python Notes。