Явное лучше, чем неявное
В «Дзен Питона» есть вот такая строчка
- Явное лучше, чем неявное.
Но при этом в Python постоянно опускаются круглые скобки
Чтобы создать кортеж, нужно обязательно поставить запятую
a = (100,)
print(type(a)) #tupple
Но если не поставить запятую будет создаваться что угодно но не кортеж
a = (100)
print(type(a)) #int
a = ("str")
print(type(a)) #string
a = ([1,2,3])
print(type(a)) #list
# и т.д.
Можно даже сделать так
(a) = (100)
print(type(a)) # int
Из за опускания круглых скобок мне не сразу был понятен этот пример
rec = (0,1),(1,0)
(x1,y1),(x2,y2) = rec
Опускание круглых скобок разве не приводит к неявности? Они как бы и есть, но их как бы и нет.
Ответы (1 шт):
rec = (0,1),(1,0)
(x1,y1),(x2,y2) = rec
Скорее этот пример не про скобки и кортежи, а про упаковку и распаковку переменных. В данном случае скобки вообще не нужны, если вы дальше не собираетесь использовать переменную rec как-то отдельно:
rec = 0,1,1,0
x1,y1,x2,y2 = rec
Тот же самый код с тем же самым результатом. Просто есть правило, что переменные, перечисленные через запятую, упаковываются в кортеж. А распаковка может идти из кортежей, списков, итераторов (причём, возможны вложения) - не важно из чего, главное, чтобы можно было взять оттуда нужное число элементов.
Скорее, в вашем примере наоборот добавлены лишние скобки, чтобы сгруппировать вместе значения координат x,y просто по смыслу. Если бы речь шла только о получении результата, скобки были бы вообще не нужны.