Уведомления

Группа в Telegram: @pythonsu

#1 Май 26, 2012 17:17:04

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

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)



Офлайн

#2 Май 27, 2012 07:07:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

аргумент 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.

возвращён может быть список строк, а может быть список кортежей строк
если ты напишешь, что она возвращает список, это ничего не даст
человеку всё равно придётся читать полное описание



Отредактировано py.user.next (Май 27, 2012 07:10:04)

Офлайн

#3 Май 27, 2012 14:04:01

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

Никто не запрещает написать это в том же хелпе, просто часть информации будет тегирована и проще для восприятия.



Офлайн

#4 Май 28, 2012 03:14:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
Никто не запрещает написать это в том же хелпе, просто часть информации будет тегирована и проще для восприятия.
опиши в тегах функцию list()



Офлайн

#5 Май 28, 2012 03:24:02

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

Ты пытаешься мне доказать, что это не всегда возможно? Есессно, если аргументы обраватываются как *args *kwargs, это не выйдет. Но это лишь одна возможность, используемая не так часто, т.к. полностью теряется поддержка ide.

Кстати, с list работает

list(iterable) -> new list initialized from iterable's items
@param iterable sequense
@type iterable sequense
@return
@return type list



Офлайн

#6 Май 28, 2012 04:31:57

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
Ты пытаешься мне доказать, что это не всегда возможно?
вообще, я думаю, что это избыточно, что это сразу не стали делать, из-за того, что можно сделать меньше, как сейчас сделано

а list(), ты написал, что тип - последовательность, но такого типа нет



Офлайн

#7 Май 28, 2012 04:43:15

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

А как это назвать в питоне с его утиной типизацией?

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



Офлайн

#8 Май 28, 2012 05:54:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

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
Меньше получается не везде (приходится писать то же самое
теговая запись не может быть сокращена в объёме
нельзя половину описать в тегах, а описание всего даёт слишком много строк
много строк можно записать в одном предложении



Офлайн

#9 Май 28, 2012 15:12:10

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

py.user.next
не подходит под последовательность
py.user.next
разный тип аргумента
Не понял, если честно.

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

Тогда можешь обьяснить, почему в статических языках теги приняты (ява/дотнет), а в динамических - нет?



Офлайн

#10 Май 29, 2012 04:38:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

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

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

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

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

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

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



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version