2013-08-02 44 views
-6

line_spoken做能有人請解釋這個程序,我不明白的地方的作用,行細語從什麼在節目

>>> 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='') 
+0

他們說出來的分裂的話(「:」)操作。該文件可能包含看起來像'foo:bar'的行。 –

+0

每行在':'上分割。 'role'就是它之前的一切,'line_spoken'之後的一切。 – TyrantWave

回答

3

來你正在尋找一個元組分配。

右側表達式預計會產生兩個元素的序列,並將這兩個元素分配給左側的兩個命名的目標。

換句話說,.split(:)預計會返回兩個值,並且這兩個值分配給變量roleline_spoken。最有可能的是,文件中的行包含文本,如hamlet:To be or not to be, that is the question\n

如果each_line.split(':')確實不是返回兩個值,則會引發異常。

0

roleline_spoken是變量,這些變量填充從文件讀取sketch.txt字符串。 sketch.txt包含由冒號分隔的單詞或短語對,並且roleline_spoken獲得那些單詞/短語。

split()函數將"tuple", which is "unpacked"返回到您的兩個變量中。

(注意周圍(role, line_spoken)括號是不必要的。)