.append 中包含编码? Python

Encoding included in .append? Python

就 Python 而言,我是一个完全的初学者,目前正在接近 LPTHW 的尾声。现在,在练习 41 中,for 循环中有一行代码我不太理解。

我已经尽我所能在网上搜索了,但由于我还在学习,我什至不确定如何搜索这个。

澄清一下:


这是循环:

for word in urlopen(WORD_URL).readlines():
    WORDS.append(str(word.strip(), encoding="utf-8"))

现在我不太明白这个WORDS.append(str(word.strip(), encoding='utf-8')是干什么的。为什么包含 encoding="utf-8",它在这种情况下有什么用?我怀疑这里使用 str 与此有某种联系,但不完全确定。难道不能简单地像这样吗:

.append(word.strip())?

谢谢!

代码片段

WORDS.append(str(word.strip(), encoding='utf-8'))

去除word中的空格,并将word转换为utf-8编码的字符串。 str 函数负责编码。

您提供的代码

WORDS.append(word.strip())

将放置变量词,在列表 WORDS 的末尾没有空格。 不同之处在于没有指定编码,因此无论变量字当前使用何种编码,变量字都将放在 WORDS 的末尾。在第一个示例中,WORDS 中的所有字符串都将采用 utf-8 编码。