-7

谁能解释一下这个程序,我不明白角色,台词来自哪里

>>> data = open('sketch.txt')
>>> for each_line in data: // stores each line from the sketch file in each_line
...     (role, line_spoken) = each_line.split(':')
...     print(role, end='')
...     print(' said: ', end='')
...     print(line_spoken, end='')
4

2 回答 2

3

您正在查看元组分配。

右手边的表达式预计会产生两个元素的序列,这两个元素被分配给左侧的两个命名目标。

换句话说,.split(:)预计会返回两个值,并将这两个值分配给变量roleline_spoken。最有可能的是,文件中的行包含类似hamlet:To be or not to be, that is the question\n.

如果each_line.split(':')不返回两个值则会引发异常。

于 2013-08-02T16:08:15.463 回答
0

roleline_spoken是变量,由从文件中读取的字符串填充sketch.txtsketch.txt包含以冒号分隔的单词或短语对,roleline_spoken获取这些单词/短语。

split()函数返回一个“元组”,它被“解包”到您的两个变量中。

(请注意,周围的括号(role, line_spoken)是不必要的。)

于 2013-08-02T16:08:33.630 回答