Wiem, że niektórzy są zaskoczeni, ale lubię używać potrójnego operatora Pythona, ponieważ sprawia on, że instrukcje są czystsze do przeczytania (chyba). W każdym razie, znalazłem, że nie mogę tego zrobić:Operator potrójny w języku Python nie może zwracać wielu wartości?
>>> a,b = 1,2 if True else 0,0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack
Sposób Pomyślałem działa operator trójargumentowy jest to, że w zasadzie opiera się, co następuje:
if True:
a,b = 1,2
else:
a,b = 0,0
Może ktoś wyjaśnić, dlaczego moja pierwsza próbka kodu nie działa? A jeśli takowy istnieje, należy podać jeden liniowiec, aby przypisać wiele zmiennych warunkowo?
Dobry ol”«operator przecinek ma niższy priorytet niż trójskładnikowego warunkowego»... Nawet działa w C. .. –
Ah, dziękuję bardzo! – Valdogg21
@ Valdogg21 Serdecznie zapraszamy :) – Doorknob