Python strip()有选择地作用于输入函数,但正确地作用于字符串文字
我试图理解Python strip()有选择地作用于输入函数,但正确地作用于字符串文字,python,python-3.x,strip,Python,Python 3.x,Strip,我试图理解strip()函数。我看到了一种令人困惑的行为 import sys test = input().strip('e') print(test) N = input().strip('cmowz.') print(N) print('www.example.com'.strip('cmowz.')) 这将提供以下输出: test message here 'www.example.com' example 所以我看到的是,调用input().strip()方法可以正
strip()
函数。我看到了一种令人困惑的行为
import sys
test = input().strip('e')
print(test)
N = input().strip('cmowz.')
print(N)
print('www.example.com'.strip('cmowz.'))
这将提供以下输出:
test message here
'www.example.com'
example
所以我看到的是,调用input().strip()
方法可以正确地处理尾随空格和前导空格。但它对其他任何东西都不起作用
input().strip('e')
实际上并没有从字符串中删除e
但是,调用字符串literal“somethinghere.strip('e')
也可以
有人能解释一下这种不一致的行为吗?根据:
strip(s[,chars])返回字符串的一个副本,其中包含前导和
删除尾随字符。如果省略字符或无字符,则使用空格
字符将被删除。如果给定而不是无,则字符必须是字符串;
字符串中的字符将从字符串的两端剥离
调用此方法的字符串
在版本2.2.3中更改:添加了chars参数。查尔
在早期的2.2版本中无法传递参数
重要的一点是,只删除尾随字符和前导字符。根据:
strip(s[,chars])返回字符串的一个副本,其中包含前导和
删除尾随字符。如果省略字符或无字符,则使用空格
字符将被删除。如果给定而不是无,则字符必须是字符串;
字符串中的字符将从字符串的两端剥离
调用此方法的字符串
在版本2.2.3中更改:添加了chars参数。查尔
在早期的2.2版本中无法传递参数
重要的一点是,只删除尾随字符和前导字符。从:
返回已删除前导
和尾随
字符的字符串副本。如果省略字符或无字符,则删除空白字符。如果给定而不是无,则字符必须是字符串;字符串中的字符将从调用此方法的字符串两端剥离
这完全符合预期 来自:
返回已删除前导
和尾随
字符的字符串副本。如果省略字符或无字符,则删除空白字符。如果给定而不是无,则字符必须是字符串;字符串中的字符将从调用此方法的字符串两端剥离
这完全符合预期 我无法重现这一切
N=input().strip('cmowz.')
outputs'example'
for me.Works-返回删除前导字符和尾随字符的字符串副本。我无法重新创建该副本N=input().strip('cmowz.')
outputs'example'
for me.Works-返回字符串的副本,删除前导字符和尾随字符。这很有意义。基本上在第一种情况下,我输入“一些文本”,所以这里没有变化,因为cmoz。不是空白的一部分。然而,在第二种情况下,我输入字符串和单引号,这就是为什么我看到一个奇怪的输出。我试着在没有单引号的情况下输入,效果很好。将此问题标记为已回答。这是有意义的。基本上在第一种情况下,我输入“一些文本”,所以这里没有变化,因为cmoz。不是空白的一部分。然而,在第二种情况下,我输入字符串和单引号,这就是为什么我看到一个奇怪的输出。我试着在没有单引号的情况下输入,效果很好。将此问题标记为已回答。