2014-02-11 96 views
-2

这里是Hangman的源代码。这是来自python的书籍发明游戏。这个变量来自哪里? Python

words = 'ant baboon badger bat bear beaver camel cat clam cobra cougar coyote crow deer  dog donkey duck eagle ferret fox frog goat goose hawk lion lizard llama mole monkey moose mouse mule newt otter owl panda parrot pigeon python rabbit ram rat raven rhino salmon seal shark sheep skunk sloth snake spider stork swan tiger toad trout turkey turtle weasel whale wolf wombat zebra'.split() 

def getRandomWord(wordList): 
    # This function returns a random string from the passed list of strings. 
    wordIndex = random.randint(0, len(wordList) - 1) 
    return wordList[wordIndex] 

现在,他从哪里得到变量wordList?这里只有变量词!

+0

它是函数'getRandomWord'的一个参数。它可以被称为'foo',或其他任何东西 – Krease

+1

作为一个方面说明,这是一个从列表中获得随机样本的奇怪方法。毕竟,有'random.choice()'... –

+0

神奇的词是:'功能参数' – bgusach

回答

2

这是从这里:

def getRandomWord(wordList): 

getRandomWord函数调用的参数,如getRandomWord(words),局部变量wordList将被绑定到指这样的说法。

+0

'words'已经是一个列表,请查看字符串的末尾,函数'.split()'已经被调用。 – anuragal

+0

@anuragal:哦,是的。应该正确滚动(并且该列表应该以不涉及近400个字符的行的方式构建)。 – user2357112

0

def函数的起始getRandomWord(),wordList定义为传递给该函数的(唯一的,强制的)参数。

因此,如果您传递一个列表给它,该列表对象将绑定到本地名称wordList,并且该函数可以对其执行操作。

0

wordList只是功能getRandomWord的一个参数。它不需要与其他任何东西相匹配,事实上,它可能更清楚。

别的地方的代码,它可能调用该函数是这样的:getRandomWord(words)

0

词表是函数的参数!因此,当您拨打getRandomWord(words)并以words作为参数时,则words将变为wordList!!简单。但是如果你仍然有任何困惑看看here