Python 中 AttributeError: ‘int’ object has no attribute ‘split’
当我们对整数调用 split()
方法时,会出现 Python“AttributeError: ‘int’ object has no attribute ‘split’ ”。 要解决该错误,需要确保调用 split
的值是字符串类型。
下面是产生上述错误的示例代码
my_string = 'hello,world'
my_string = 100
print(type(my_string)) # <class 'int'>
# ⛔️ AttributeError: 'int' object has no attribute 'split'
print(my_string.split(','))
我们将 my_string
变量重新分配给一个整数,并尝试对导致错误的整数调用 split() 方法。
如果我们使用 print()
打印我们调用 split()
的值,它将是一个整数。
要解决该错误,您需要查明在代码中将值设置为整数的确切位置并更正分配。
要解决示例中的错误,我们必须删除重新分配或更正它。
my_string = 'hello,world'
print(my_string.split(',')) # 👉️ ['hello', 'world']
str.split()
方法使用定界符将字符串拆分为子字符串列表。
该方法采用以下 2 个参数:
- separator 在每次出现分隔符时将字符串拆分为子字符串
- maxsplit 最多完成 maxsplit 拆分(可选)
如果我们需要消除错误并且不能删除对 split()
的调用,我们可以在调用 split()
之前将整数转换为字符串。
example = 123
print(str(example).split(',')) # 👉️ ['123']
如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。
我们还可以将调用返回整数的函数的结果分配给变量。
def get_string():
return 100
my_string = get_string()
# ⛔️ AttributeError: 'int' object has no attribute 'split'
print(my_string.split(','))
my_string
变量被分配给调用 get_string
函数的结果。
该函数返回一个整数,因此我们无法对其调用
split()
。
要解决该错误,我们必须找到为特定变量分配整数而不是字符串的位置并更正分配。
总结
当我们对整数调用 split()
方法时,会出现 Python“AttributeError: ‘int’ object has no attribute ‘split’”。 要解决该错误,需要确保调用 split
的值是字符串类型。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。