什么""在python中意味着什么?

时间:2014-03-03 23:09:53

标签: python

“”在python中意味着什么?

例如:

def makePassword(length) :
   password = ""

密码变为什么和/或该声明是什么意思? 它重新定义了密码吗?它是否只是再次强调了密码已经在上面定义的事实(假设已经存在)。仅供参考:这只是代码的一部分。

4 个答案:

答案 0 :(得分:2)

password = ""

password设置为空字符串(即由零个字符组成的字符串)。

值得注意的是,这与不分配password任何内容(在这种情况下它将不存在)不同,并且与将密码设置为None不同。

答案 1 :(得分:0)

空字符串(长度为0)。密码变为空字符串。

  

是否重新定义了密码?

它在该功能的范围内。或者,如果密码被声明为全局。

答案 2 :(得分:0)

正是这样,“”。它本质上是一个“空”字符串。它只是一个字符串类型的对象。

答案 3 :(得分:0)

在生成字符串时,有时会一次创建一个字符或以块的形式创建结果。从函数名称我怀疑这个特定算法正在做类似的事情。

如果进程是迭代的(在循环内发生),将最新的块添加到已经累积的任何块的自然方法是使用诸如

之类的语句
password = password + new_chunk

现在可以更简洁地写成

password += new_chunk

这将获取password变量的现有值并将新块添加到其中,替换password的旧值。

在没有为password变量赋值的情况下执行此语句会导致异常,但是(特别是您会看到NameError,因为该语句要求您以password的现有值开头,并且它没有一个)。因此,在循环之前,您将空字符串(不包含字符的字符串)分配给变量,从而避免了不方便但常见的错误。