AttributeError: ‘int’ 对象没有属性 ‘encode’
AttributeError: ‘int’ object has no attribute ‘encode’
Python“AttributeError: ‘int’ object has no attribute ‘encode’” 发生在我们encode()
对整数调用该方法时。要解决该错误,请确保您调用的值encode
是字符串类型。
下面是错误如何发生的示例。
主程序
my_str = 'hello world' my_str = 123 # ⛔️ AttributeError: 'int' object has no attribute 'encode' print(my_str.encode('utf-8'))
我们将my_str
变量重新分配给一个整数,并尝试调用
encode()
导致错误的整数的方法。
如果您print()
调用的是值encode()
,它将是一个整数。
要解决该错误,您需要查明在代码中将值设置为整数的确切位置并更正分配。
要解决示例中的错误,我们必须删除重新分配或更正它。
主程序
my_str = 'hello world' print(my_str.encode('utf-8')) # 👉️ b'hello world'
如果您尝试将数字的编码版本作为字节对象获取,请在调用之前将整数转换为字符串encode()
。
主程序
my_num = 1234 result = str(my_num).encode('utf-8') print(result) # 👉️ b'1234'
str.encode方法将字符串
的编码版本作为字节对象返回。默认编码是utf-8
.
您还可以将调用返回整数的函数的结果分配给变量。
主程序
def get_string(): return 100 my_string = get_string() # ⛔️ AttributeError: 'int' object has no attribute 'encode' print(my_string.encode('utf-8'))
my_string
变量被分配给调用get_string
函数的结果。
该函数返回一个整数,因此我们无法调用encode()
它。
要解决该错误,您必须找到为特定变量分配整数而不是字符串的位置并更正分配。
结论
Python“AttributeError: ‘int’ object has no attribute ‘encode’” 发生在我们encode()
对整数调用该方法时。要解决该错误,请确保您调用的值encode
是字符串类型。