У меня есть script, который пытается прочитать начальную и конечную точку для подмножества через двоичный поиск, затем эти значения используются для создания среза для дальнейшей обработки.
Я заметил, что, когда эти переменные не были установлены (поиск вернулся Нет), код все равно будет работать, и в конце я заметил, что срез, охватывающий от None до None, работает так, как если бы он просматривал весь список (см. пример ниже).
#! /usr/bin/env python
list = [1,2,3,4,5,6,7,8,9,10]
for x in list[None:None]:
print x
Кто-нибудь знает, почему был сделан выбор, чтобы увидеть list[None:None]
просто как list[:]
, по крайней мере, то, что я думаю, что это происходит (исправьте меня, если я ошибаюсь). Я лично подумал бы, что в таком случае желательно было бы выбрасывать TypeError.