猿问

“如果x.strip()”是什么意思?

所以我之前在代码方面遇到了问题,因为当我遍历foodList时,我得到了一个空行。


有人建议使用“ if x.strip():”方法,如下所示。


for x in split:

  if x.strip():

    foodList = foodList + [x.split(",")]

它工作正常,但我只想知道它的实际含义。我知道它会删除空格,但是if语句在说x是否有空白然后为true时,上述内容将不会删除。哪个与我想要的相反?只是想让我围绕术语以及它在幕后所做的事情前进。


繁星coding
浏览 1296回答 3
3回答

慕仙森

在Python中,“空”对象-空列表,空字典以及在这种情况下为空字符串-在布尔上下文(如if)中被认为是假的。任何不为空的字符串都将被视为true。 strip去除空格后返回字符串。如果字符串仅包含空格,strip()则将删除所有内容并返回空字符串。因此,if strip()意思是“如果结果strip()不是空字符串”,即字符串中除空格以外还包含其他内容。

12345678_0001

strip()方法返回字符串的副本,该字符串的所有字符均已从字符串的开头和结尾去除(默认的空白字符)。因此,如果未指定输入字符,它将从字符串的开头和结尾修剪空格。在这一点上,它只控制字符串是否x为空而不考虑空格,因为empty字符串false在python中被解释为

慕村225694

简而言之,当用户可以输入一些数据并且您要确保用户输入了什么而不是什么都没有时,将使用此语法。让我们进一步简化一下:case(1):x.strip()为空,表示用户未输入任何内容。在这种情况下x.strip()是False因为空字符串为“ Falsey”case(2):x.strip()不为空,表示用户输入了某些内容(空格除外)。在这种情况下,x.strip()将返回删除了结尾和结尾的空格的字符串,即“ Truthy”。
随时随地看视频慕课网APP

相关分类

Python
我要回答