Найти - Пользователи
Полная версия: Вопрос по документации
Начало » Python для новичков » Вопрос по документации
1 2
sl0w
Доброе утро, возможно мой вопрос очень несущественный и решается гуглом (в прямых руках, но почему то не моих).

Очень интересует документация методов различных классов, допустим есть объект класса list (список), хотелось бы узнать все его методы с описаниями.

Например :
a = [1, 2 , 4 , 5] # как мы видим создан список
print(a.__doc__) # как я хочу чтоб выглядело обращение на примере __doc__

хотелось бы использовать что то вроде этого шаблона, но чтобы выводилось что то вроде

a (list) methods:

.append - прибавляет значение в конец списка

….



существует ли такое документирование ?

если его нет встроенного, то сойдет и справочник по встроенным классам (желательно русский но не так принципиально, можно и оригинальный язык издания)

Большое спасибо за полученные ответы
old_monty
sl0w
допустим есть объект класса list (список), хотелось бы узнать все его методы с описаниями.
Все методы класса (например, того же list) можно вывести при вызове help:
print(help(list))
Если полная справка не нужна, а интересует только конкретный метод (например, append()), это тоже очень просто:
print(help(list.append))
py.user.next
old_monty
print(help(list))
print() не нужно писать, help() сама выводит.

sl0w
существует ли такое документирование ?
Прямо у объекта можно запросить документацию
a = [1, 2, 3]
help(a)

Можно короче
help([])

Подробнее про списки
https://docs.python.org/3/library/stdtypes.html#lists
https://docs.python.org/3/library/stdtypes.html#common-sequence-operations
https://docs.python.org/3/library/stdtypes.html#typesseq-mutable

Документация начинается здесь: https://docs.python.org/3/
Одна нужная ветвь: https://docs.python.org/3/reference/index.html
Другая нужная ветвь: https://docs.python.org/3/library/index.html
old_monty
py.user.next
print() не нужно писать, help() сама выводит.
Об этом я знаю. Просто думал, что он это делает в коде программы, а не в консоли.
Хотя в коде программы делать это я не вижу смысла.
old_monty
Кстати, у меня тоже вопрос насчет документации к методам и функциям. Если вызвать
>>>help(list.__add__)
то получим
Help on wrapper_descriptor:
__add__(self, value, /)
    Return self+value.
Что это за третий параметр “/”? Он встречается в справке ко многим методам.
py.user.next
old_monty
Просто думал, что он это делает в коде программы, а не в консоли.
Оно одинаково делается - без всякого print'а. help() возвращает None.

old_monty
Если вызвать
>>> help(list.__add__)
 
>>>
Help on wrapper_descriptor:

__add__(...)
x.__add__(y) <==> x+y

old_monty
Он встречается в справке ко многим методам.
А где смотришь? У меня в консоли нет.

Add
Нашёл через git blame
[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.
http://bugs.python.org/issue20530
old_monty
py.user.next
Оно одинаково делается - без всякого print'а. help() возвращает None.
Точно. Применять print(list.__doc__) есть смысл, чтобы не смешивались строки и на экран не выводился ‘\n’. А для вызова help применять print() нет смысла. Тут я малость зарапортовался.
py.user.next
А где смотришь? У меня в консоли нет.
Смотрю в консоли терминала в OS X 10.11.5 El Capitan.
В IDLE при вызове help получается то же самое.
py.user.next
old_monty
Смотрю в консоли терминала в OS X 10.11.5 El Capitan.
В IDLE при вызове help получается то же самое.
Не, у тебя просто питон новее, чем у меня. Как показывает коммит, это добавили в версии 3.4, а у меня - 3.3.
old_monty
py.user.next
Не, у тебя просто питон новее, чем у меня. Как показывает коммит, это добавили в версии 3.4, а у меня - 3.3.
Вот ведь! А я и не додумался попробовать. У меня же установлено два питона (2.7.10 и 3.5.1), и в 2.7.10 все нормально выглядит:
>>>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
Об этот чертов слэш (/) я все время спотыкался. А найти его значение в самом help'e нигде не мог. Спасибо за разъяснение!
py.user.next
old_monty
и в 2.7.10 все нормально выглядит:
В 2.7 как бы тоже особо не посмотришь, потому что многие функции удалены, изменены или добавлены. То есть нельзя смотреть про третий питон документацию ко второму, так как можно что-нибудь пропустить.
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