string =“”在Python程序中的作用是什么

时间:2017-01-19 18:52:31

标签: python python-3.x

我知道标题可能不是最好的,因为我不是用短语来解释我的问题。然而,我最近在网上查看一些代码,我没有得到一些代码被使用的原因我试图在互联网上看,但因为我不知道代码的那部分被称为我不知道搜索什么所以你伙计们是我最后的希望。

在此功能中

def NumIntoChar(LineLis):
    for n in LineLis:
        string = ""  # Here is what im not sure. why is this used here ?
        for i in range(n):
            string += '-'
        print(string)

我不确定为什么在2之间使用string =“”作为外观 另一个例子是:

message = """SAHH"""  # Add Code
message = message.upper()
keyShift = 1
encryptedMsg = ""
result = {}

while keyShift <= 26:
    encryptedMsg = ""
    for character in message:
        if character.isalpha() is True:
            x = ord(character) - 65
            x += keyShift
            x = x % 26
            encryptedMsg += chr(x + 65)
        else:
            encryptedMsg += character

    result[keyShift] = encryptedMsg
    keyShift += 1

for r in result.keys():
    print(r,result[r])

在这里,我们看到'encryptedMsg =“”正在使用,就像在前面的代码中一样。

2 个答案:

答案 0 :(得分:2)

在该行代码的下方,你有这个for循环:

for i in range(n):
    string += '-'

x += y运算符是x = x + y的语法糖。要使用此运算符,x必须首先定义一个值。

对于循环的第一次迭代,string基本上会像这样分配:

string = string + '-'

为了避免抛出NameError,首先需要声明string并为其分配一些值,这是string = ""所做的。循环的第一次迭代中的表达式基本上变为:

string = '' + '-'

答案 1 :(得分:1)

这里使用var = ''初始化一个带空字符串的变量。

在您必须迭代地连接内容以形成更大的字符串的情况下,通常会遵循这种情况。您的代码从初始化空字符串开始,在循环内,字符串的内容被连接起来。例如:

 my_str = ""

 while repeat:
     my_str += some_str
     # Do some stuff 

您可能需要它的其他情况是:当您必须将字符串的默认值设置为空时,但根据某些条件重置字符串的内容。例如:

my_name = ''
if user.is_logged_in():
    my_name = user.name

另请阅读:Initialize a string variable in Python: “” or None?