Форум сайта python.su
1
Доброе утро, возможно мой вопрос очень несущественный и решается гуглом (в прямых руках, но почему то не моих).
Очень интересует документация методов различных классов, допустим есть объект класса list (список), хотелось бы узнать все его методы с описаниями.
Например :
a = [1, 2 , 4 , 5] # как мы видим создан список print(a.__doc__) # как я хочу чтоб выглядело обращение на примере __doc__
Отредактировано sl0w (Июнь 12, 2016 04:13:29)
Офлайн
20
sl0wВсе методы класса (например, того же list) можно вывести при вызове help:
допустим есть объект класса list (список), хотелось бы узнать все его методы с описаниями.
print(help(list))
print(help(list.append))
Офлайн
857
old_montyprint() не нужно писать, help() сама выводит.print(help(list))
sl0wПрямо у объекта можно запросить документацию
существует ли такое документирование ?
a = [1, 2, 3] help(a)
help([])
Отредактировано py.user.next (Июнь 12, 2016 12:39:46)
Офлайн
20
py.user.nextОб этом я знаю. Просто думал, что он это делает в коде программы, а не в консоли.
print() не нужно писать, help() сама выводит.
Отредактировано old_monty (Июнь 12, 2016 12:52:20)
Офлайн
20
Кстати, у меня тоже вопрос насчет документации к методам и функциям. Если вызвать
>>>help(list.__add__)
Help on wrapper_descriptor: __add__(self, value, /) Return self+value.
Офлайн
857
old_montyОно одинаково делается - без всякого print'а. help() возвращает None.
Просто думал, что он это делает в коде программы, а не в консоли.
old_monty
Если вызвать
>>> help(list.__add__) >>>
Help on wrapper_descriptor:
__add__(...)
x.__add__(y) <==> x+y
old_montyА где смотришь? У меня в консоли нет.
Он встречается в справке ко многим методам.
[guest@localhost main]$ git log --author="Larry Hastings" --since 2014-02-09 --before 2014-02-10
commit da809869e63028d9817e9854a0288f7cb48184b5
Author: Larry Hastings <larry@hastings.org>
Date: Sun Feb 9 22:22:38 2014 -0800
Issue #20530: The signatures for slot builtins have been updated
to reflect the fact that they only accept positional-only arguments.
Отредактировано py.user.next (Июнь 12, 2016 13:28:01)
Офлайн
20
py.user.nextТочно. Применять print(list.__doc__) есть смысл, чтобы не смешивались строки и на экран не выводился ‘\n’. А для вызова help применять print() нет смысла. Тут я малость зарапортовался.
Оно одинаково делается - без всякого print'а. help() возвращает None.

py.user.nextСмотрю в консоли терминала в OS X 10.11.5 El Capitan.
А где смотришь? У меня в консоли нет.
Отредактировано old_monty (Июнь 12, 2016 14:07:47)
Прикреплённый файлы:
Terminal.png (59,3 KБ)
Офлайн
857
old_montyНе, у тебя просто питон новее, чем у меня. Как показывает коммит, это добавили в версии 3.4, а у меня - 3.3.
Смотрю в консоли терминала в OS X 10.11.5 El Capitan.
В IDLE при вызове help получается то же самое.
Отредактировано py.user.next (Июнь 12, 2016 14:13:22)
Офлайн
20
py.user.nextВот ведь! А я и не додумался попробовать. У меня же установлено два питона (2.7.10 и 3.5.1), и в 2.7.10 все нормально выглядит:
Не, у тебя просто питон новее, чем у меня. Как показывает коммит, это добавили в версии 3.4, а у меня - 3.3.
>>>help(list) Help on class list in module __builtin__: class list(object) | list() -> new empty list | list(iterable) -> new list initialized from iterable's items | | Methods defined here: | | __add__(...) | x.__add__(y) <==> x+y | | __contains__(...) | x.__contains__(y) <==> y in x
Офлайн
857
old_montyВ 2.7 как бы тоже особо не посмотришь, потому что многие функции удалены, изменены или добавлены. То есть нельзя смотреть про третий питон документацию ко второму, так как можно что-нибудь пропустить.
и в 2.7.10 все нормально выглядит:
Офлайн