* in * len()有什么作用?

时间:2018-01-25 00:32:46

标签: python

在下面的代码中,为什么len()前面有一个星号?

def censor (text,word):
  if word in text:
    text= text.replace(word, "*" *len(word))
  return text

为什么你不能把len(单词)?

3 个答案:

答案 0 :(得分:4)

您的代码有点误导,应该是:

text = text.replace(word, "*" * len(word))

星号是乘法运算符 - 它将字符串"*"乘以您正在审查的单词的长度,以构建被删除的字符串。

答案 1 :(得分:1)

>>> word = "hello"
>>> len(word)
5
>>> "*" * len(word)
'*****'
  

为什么你不能把len(单词)?

len(word)为您提供5

然后我们将'*'乘以5,得到'*****'

答案 2 :(得分:0)

代码的作用是将星号乘以单词的长度。 *是乘法运算符。您无法放置len,因为代码会出错("*"len(word)是无效的语法)。例如,如果有五个字符,则会放五个星号。

len("qwert") * "*" = "*****"