[英]Why can expressions be carried across multiple lines in function calls but not assignments?
[英]Multivariable assignments across multiple lines in Python
我的代碼中有一個 function 返回 6 個值。 我正在嘗試使用以下代碼將其分配給 6 個變量。
epitaph_sequence_tokens, epitaph_tokenizer, epitaph_vocab_size, epitaph_padded_sequences, epitaph_X, epitaph_y, epitaph_sequence_length = prep_data(ep_data)
我想要做的就是將其分成兩行,我認為只需在其中一個逗號后按 enter 鍵就可以很簡單。 當我這樣做時,我得到了一個意外的縮進錯誤,但如果我不縮進,它就不會把它當作同一個代碼塊來讀取。 我正在使用 Google CoLab 對此進行編碼,是不是該環境的某些問題導致了這種情況?
您需要括號來啟用隱式行繼續:
(epitaph_sequence_tokens,
epitaph_tokenizer,
epitaph_vocab_size,
epitaph_padded_sequences,
epitaph_X,
epitaph_y,
epitaph_sequence_length) = prep_data(ep_data)
(只需兩行即可重新加入您喜歡的地方)。
如果沒有括號,您需要使用反斜杠顯式續行。
epitaph_sequence_tokens, \
epitaph_tokenizer, \
epitaph_vocab_size, \
epitaph_padded_sequences, \
epitaph_X, \
epitaph_y, \
epitaph_sequence_length = prep_data(ep_data)
否則,類似
epitaph_sequence_tokens,
epitaph_tokenizer,
epitaph_vocab_size,
epitaph_padded_sequences,
epitaph_X,
epitaph_y,
epitaph_sequence_length = prep_data(ep_data)
被視為 6 個表達式語句(每個表達式語句由一個 1 元組組成)后跟一個賦值語句。 每個表達式語句都需要已定義名稱才能創建指定的元組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.