Назначение переменной для возврата функции? - PullRequest
1 голос
/ 08 апреля 2020

Я натолкнулся на следующую функцию:

def load_words():
    """
    Returns a list of valid words. Words are strings of lowercase letters.

    Depending on the size of the word list, this function may
    take a while to finish.
    """
    print("Loading word list from file...")
    # inFile: file
    inFile = open(WORDLIST_FILENAME, 'r')
    # line: string
    line = inFile.readline() # reads one entire line from a file (as a string)
    # wordlist: list of strings
    wordlist = line.split()
    print("  ", len(wordlist), "words loaded.")
    return wordlist 

wordlist = load_words()

Я не понимаю назначение функции load_words () для переменной wordlist? Когда переменная назначена, функция выполняется.

Является ли список слов функцией load_words ()? Или это возвращение функции load_words ()?

1 Ответ

1 голос
/ 08 апреля 2020

Когда вы даете:

wordlist = load_words()

, вы запускаете функцию load_words() и присваиваете возвращаемое значение wordlist переменной wordlist вне функции.


  • Вы также можете запускать функции, не назначая их переменной, например:

    load_words (), но здесь возвращаемая переменная wordlist не является хранится в python (я имею в виду текущую оболочку) для дальнейшего использования. wordlist внутри функции является локальной переменной и действует только внутри функции.

  • Поэтому, когда вы даете wordlist = load_words(), словарь теперь становится глобальной переменной, так что вы вызываете его, когда вам это требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...