int'对象没有'startswith'属性

5 投票
2 回答
45660 浏览
提问于 2025-04-15 21:33

我遇到了一个奇怪的错误:“'int'对象没有属性'startswith'”。

我在我的Python程序中并没有使用过“startswith”这个词。有人知道怎么解决这个问题吗?或者这个错误是什么意思?

2 个回答

5

startswith 这个功能只适用于 字符串

如果你想检查一个 int(整数)是否以某些数字开头,你可以先把它转换成 字符串,也就是说:

someint = 1234
if str(someint).startswith("123"):
    # do somenting
15

你的程序里有个地方在尝试调用一个对象的 startswith 方法,这个方法通常是用在字符串上的。可能是因为程序认为这个对象应该是个字符串。你需要仔细看看错误信息,找出到底是哪个地方在调用这个方法,以及为什么这个对象是个整数而不是字符串。是不是在应该传字符串的地方,误传了一个整数呢?

撰写回答