Найти - Пользователи
Полная версия: MP3 тэги. Кодировка. Проблемы.
Начало » Python для новичков » MP3 тэги. Кодировка. Проблемы.
1 2 3 4 5 6
asilyator
py.user.next
и как ты представляешь, например, описание re.findall(), которая может принимать не только строки, но и байты ?
findall(pattern, string, flags=0)
@param pattern
@type pattern str or unicode
@return ...
@return type str or unicode (same type as pattern parameter)
py.user.next
аргумент string тоже зависит
flags нужно описать

re
Both patterns and strings to be searched can be Unicode strings as well as 8-bit strings. However, Unicode strings and 8-bit strings cannot be mixed: that is, you cannot match an Unicode string with a byte pattern or vice-versa; similarly, when asking for a substitution, the replacement string must be of the same type as both the pattern and the search string.

re.findall()
re.findall(pattern, string, flags=0)¶

Return all non-overlapping matches of pattern in string, as a list of strings. The string is scanned left-to-right, and matches are returned in the order found. If one or more groups are present in the pattern, return a list of groups; this will be a list of tuples if the pattern has more than one group. Empty matches are included in the result unless they touch the beginning of another match.

help(re.findall)
findall(pattern, string, flags=0)
    Return a list of all non-overlapping matches in the string.
    
    If one or more groups are present in the pattern, return a
    list of groups; this will be a list of tuples if the pattern
    has more than one group.
    
    Empty matches are included in the result.

возвращён может быть список строк, а может быть список кортежей строк
если ты напишешь, что она возвращает список, это ничего не даст
человеку всё равно придётся читать полное описание
asilyator
Никто не запрещает написать это в том же хелпе, просто часть информации будет тегирована и проще для восприятия.
py.user.next
asilyator
Никто не запрещает написать это в том же хелпе, просто часть информации будет тегирована и проще для восприятия.
опиши в тегах функцию list()
asilyator
Ты пытаешься мне доказать, что это не всегда возможно? Есессно, если аргументы обраватываются как *args *kwargs, это не выйдет. Но это лишь одна возможность, используемая не так часто, т.к. полностью теряется поддержка ide.

Кстати, с list работает
list(iterable) -> new list initialized from iterable's items
@param iterable sequense
@type iterable sequense
@return
@return type list
py.user.next
asilyator
Ты пытаешься мне доказать, что это не всегда возможно?
вообще, я думаю, что это избыточно, что это сразу не стали делать, из-за того, что можно сделать меньше, как сейчас сделано

а list(), ты написал, что тип - последовательность, но такого типа нет
asilyator
А как это назвать в питоне с его утиной типизацией?

Меньше получается не везде (приходится писать то же самое, но не структурированно, как результат - кое-где забывают).
py.user.next
http://docs.python.org/py3k/reference/datamodel.html#the-standard-type-hierarchy

>>> list({1, 2, 3})
[1, 2, 3]
>>> list({1: 1, 2: 2, 3: 3})
[1, 2, 3]
>>>
не подходит под последовательность

>>> 'abc'.index('a', 0)
0
>>> 'abc'.index('a', None)
0
>>>
разный тип аргумента

asilyator
Меньше получается не везде (приходится писать то же самое
теговая запись не может быть сокращена в объёме
нельзя половину описать в тегах, а описание всего даёт слишком много строк
много строк можно записать в одном предложении
asilyator
py.user.next
не подходит под последовательность
py.user.next
разный тип аргумента
Не понял, если честно.

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

Тогда можешь обьяснить, почему в статических языках теги приняты (ява/дотнет), а в динамических - нет?
py.user.next
asilyator
Не понял, если честно.
1) последовательность - это не iterable, потому что iterable - это и словарь, и множество, которые не являются последовательностями
например, последовательность упорядочена, а они не упорядочены
2) если у аргумента может быть разный тип в зависимости от вызова, то это надо будет делать строку тега на каждый тип, увеличивая теговое описание
и от набора этих типов в вызове может зависеть возвращаемое значение

asilyator
А количество строк - это показатель?
конечно, ведь чем больше строк, тем больше нужно читать
на самом деле, очень много времени уходит на документацию, потому что она в виде гипердокументации (начинаешь учить одну область, а приходится учить ещё несколько областей)

asilyator
Теговая запись отформатирована
не так всё просто

asilyator
Текст приходится просматривать весь
не представляю краткую теговую запись для питоновских методов
а полная будет такой запутанной, что всё равно придётся обратиться к полному тексту

asilyator
а с плохим знанием англицкого - и вчитываться.
это неизбежно; либо учишь английский, либо знаешь всё только частично

asilyator
Тогда можешь обьяснить, почему в статических языках теги приняты (ява/дотнет)
IMHO, у них не может варьироваться тип аргументов при вызове, влияя на тип возвращаемого значения, из-за этого теговые описания не растут в геометрической прогрессии
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