AttributeError: ‘int’ 对象没有属性 ‘encode’

AttributeError: ‘int’ 对象没有属性 ‘encode’

AttributeError: ‘int’ object has no attribute ‘encode’

Python“AttributeError: ‘int’ object has no attribute ‘encode’” 发生在我们encode()对整数调用该方法时。要解决该错误,请确保您调用的值encode是字符串类型。

attributeerror int 对象没有编码

下面是错误如何发生的示例。

主程序
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是字符串类型。