2017-01-19 2 views
0

Я знаю, что название может быть не самым лучшим, так как я не совсем точно объясняю свою проблему короткими словами. Тем не менее, я недавно просматривал некоторые коды в Интернете, и у меня не было причин, по которым использовался какой-то код. Я пытался смотреть в Интернете, но поскольку я не знаю, что называется той частью кода, я не знаю, что искать, чтобы вы ребята, моя последняя надежда.Какова роль string = "" в программе Python

В этой функции

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) 

Im уверены, почему строка = "" используется между 2 для взглядов другой пример:

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 = ""' быть используется так же, как в предыдущем коде.

+5

Инициализируется пустая строка переменной –

ответ

2

Просто ниже этой строки кода, у вас есть этот цикл:

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

Оператор x += y является синтаксически x = x + y. Чтобы использовать этот оператор, значение x должно иметь определенное значение.

Для первой итерации цикла, string по существу будет назначен следующим образом:

string = string + '-' 

Для того, чтобы избежать NameError броска, string сначала должен быть объявлен и назначен какое-то значение, что и string = "" делает. Выражение в первой итерации цикла, то по существу становится:

string = '' + '-' 
+0

Спасибо чувак! за простое объяснение –

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?

+0

Спасибо за помощь –

Смежные вопросы