Python 中跨多行的多变量赋值
Multivariable assignments across multiple lines in Python
我的代码中有一个函数 returns 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 元组组成)后跟一个赋值语句。每个表达式语句都需要已定义名称才能创建指定的元组。
我的代码中有一个函数 returns 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 元组组成)后跟一个赋值语句。每个表达式语句都需要已定义名称才能创建指定的元组。