Найти - Пользователи
Полная версия: помогите гуманитарию на экзамене!
Начало » Центр помощи » помогите гуманитарию на экзамене!
1 2 3 4
Budulianin
py.user.next
А в эту строку проник int, который знает, как были прочитаны данные

Типа модуль чтения должен, кроме данных, передавать ещё и формат этих данных?
py.user.next
Budulianin
Tuple отличается от списка, только тем, что у него нет методов для изменения своего содержимого.

Он не может измениться и привести к ошибке. Ты их можешь передавать, точно зная, что они нигде внутри не изменятся.
Он быстрее, меньше памяти занимает, хешируется (для ключей словаря).

>>> sys.getsizeof((1, 2)) * 10000
320000
>>> sys.getsizeof([1, 2]) * 10000
400000
>>>
Shaman
py.user.next
Есть понятие модуля, прочности модуля и сцепления модулей. Где модуль - это не файл, а такая сущность. Модулем может быть функция, может быть группа функций, может быть файл с функциями, а может быть группа таких файлов.
Я подразумевал не модули, а квантование по зонам ответственности как в телах циклов, внутри with, внутри try и т.п. В нашем примере введение дополнительных модулей чрезмерно, имхо, как и забота о памяти.
py.user.next
А в эту строку проник int, который знает, как были прочитаны данные.
Всё что он знает: данные приводимы к int. Честно говоря, колебался, не написать ли cd == ‘1’, но это показалось еще большим сужением.
Shaman
Budulianin
Только мне не нравится смотреть на несколько однотипных скобок подряд, да и не только мне.
Вполне решается записью
foo(tuple(1, 2, 3))
Budulianin
Shaman
Вполне решается записью
foo(tuple(1, 2, 3))

Уверен ? :D
py.user.next
Budulianin
Типа модуль чтения должен, кроме данных, передавать ещё и формат этих данных?

Он должен возвращать максимально общий формат. И модуль обработки должен принимать максимально общий формат. Если форматы не совпадают, должно быть промежуточное преобразование.

Shaman
Я подразумевал не модули, а квантование по зонам ответственности как в телах циклов, внутри with, внутри try и т.п.

Ответственность должна лежать на модулях. Если тебе надо что-то сделать, то это должен выполнить модуль.
Shaman
Budulianin
Если они есть, то это не значит, что их нужно пихать во все дырки.
Тут люди учатся -как раз тот случай когда нужно.
Budulianin
py.user.next
Он не может измениться и привести к ошибке. Ты их можешь передавать, точно зная, что они нигде внутри не изменятся.
Он быстрее, меньше памяти занимает, хешируется (для ключей словаря).

Да понятно это всё. Я имел в виду “In practical terms, they have no methods that would allow you to change them”
py.user.next
Shaman
Честно говоря, колебался, не написать ли cd == ‘1’

Это тоже неправильно.

def edges(data):
    for r, rd in enumerate(data, 1):
        for c, cd in enumerate(rd, 1):
            if cd:
                yield r, c
Вот так.
Shaman

Budulianin
Уверен ?
Пардон - я это делал с генераторами.
tuple(i for i in xrange(3))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB