
Aragaer
02.06.2016
06:14:39
ну мэйн квест

Zart
02.06.2016
06:14:50
а я на него насрал
и пошел становится магистром в колледже

Aragaer
02.06.2016
06:15:37
вон в эрдель скроллс онлайн пока играл, тоже по мейн квесту шел

Google

Марк
02.06.2016
06:16:24
Я в TES вообще на хую вертел мейн квесты. Хотя история с Нереварином по итогу меня покорила. Сильнейшая тема. Очень взрослая и глубокая
Знакомый вообще в Морровинде книжки читал 8)

Sergey
02.06.2016
06:19:18
Парни, есть ли у питона стандарт описания функций? Что то вроде:
def func(arg1, arg2):
"""The func
Args:
arg1 (str): This is the first argument
arg2 (dict): This is the second argument
"""
pass
Изучил кучу популярных библиотек - везде свой формат.

Марк
02.06.2016
06:19:42
Эм
У тебя же в doc первый коммент записывается

Zart
02.06.2016
06:20:00
https://www.python.org/dev/peps/pep-0257/
и http://www.sphinx-doc.org/en/stable/ext/autodoc.html
официально докстринги питона должны быть в плейнтексте или ресте

Sergey
02.06.2016
06:21:31

Zart
02.06.2016
06:21:49
конвеншены = соглашения
если ты будешь генерить апи доки - тогда надо следовать генератору доков

Марк
02.06.2016
06:22:24
Первый коммент записывается в __doc__.

Zart
02.06.2016
06:22:28
сфинкс сейчас стандарт де факто, раньше докутилсы юзали

Google

Zart
02.06.2016
06:22:47
у 257 статус информационного, а не нормативного

Sergey
02.06.2016
06:24:22

Zart
02.06.2016
06:24:32
сфинксом

Sergey
02.06.2016
06:24:53
Для чего тогда существует pydoc?
Считается ли хорошим тоном использование type hints?

Aragaer
02.06.2016
06:26:54
в морровинде я по мэйнквесту дошел только до излечения от корпруса. Зато был лидером дома телвани

Марк
02.06.2016
06:30:40
сфинксом
А что он делает, если в двух словах? Мне чет казалось, что вся документация выдирается из __doc__

Zart
02.06.2016
06:31:07
сфинкс жрёт на входе набор файликов в текстовом формате
и на выходе генерирует доки в хуевой туче форматов - хтмл, пдф, епаб, цхм

Sergey
02.06.2016
06:32:14

Zart
02.06.2016
06:32:19
плюс умеет кучу всячины, например дёргать инфу из исходников и генерировать апи доки

Марк
02.06.2016
06:32:21
Какие айлики?
Пайтоновские?

Zart
02.06.2016
06:32:45
текстовые
вот например родная дока самого питона - https://hg.python.org/cpython/file/tip/Doc
все *.rst файлы там

Sergey
02.06.2016
06:33:44
А как генерят вот такие штуки? http://docs.python-guide.org/en/latest/

Zart
02.06.2016
06:34:01
это всё тот же сфинкс
только другая тема натянута
по quick search палиццо

Google

Sergey
02.06.2016
06:34:50
Понял, спасибо!

Марк
02.06.2016
06:34:56
Ну текст то не он пишет

Sergey
02.06.2016
06:35:16

Zart
02.06.2016
06:35:24
нахуй это говно
мд заточен под хтмл
рест лучше

Марк
02.06.2016
06:36:05
Зарт, откуда текст?

Zart
02.06.2016
06:36:14
какой?

Марк
02.06.2016
06:36:44
По ссылке, что ты скинул. Я так понял, там сгенерено всё

Zart
02.06.2016
06:37:09
что? *.rst файлы написаны от руки. это не генерация

Марк
02.06.2016
06:37:33
А сфинкс тогда причем?

Zart
02.06.2016
06:38:24
сфинкс натравливается на эти исходники, и генерирует хтмлки - те что выложены на doc.python.org

Zart
02.06.2016
06:38:50
в виндовом питоне эти же доки сгенерены в.chm файлик и их пакует инсталлятор питона
https://hg.python.org/cpython/file/tip/Doc/contents.rst вот это мастер файл, с которого вся дока питона танцует
сравни с https://docs.python.org/3/
http://www.wilfred.me.uk/blog/2012/07/30/why-markdown-is-not-my-favourite-language/ а вот тут про кучу мелочей которые делают маркдаун полным говном для документации и не только
если после чтения тех примеров кто-то еще хочет писать доки в маркдауне... безумству храбрых поем мы песню

Sergey
02.06.2016
06:45:21

Zart
02.06.2016
06:47:57
только надо учесть что этот пост рассматривает язык разметки на вебе. рест же делался под документацию изначально, в отличие от маркдауна, который клепали под вебовскую <textarea>

Sergey
02.06.2016
06:55:13
omg, не знал что rst был создан для python документации

Google

Zart
02.06.2016
06:56:39
ну да..
https://mail.python.org/pipermail/doc-sig/2001-June/001858.html
2001й год, гм
http://nshipster.com/swift-documentation/ бгыг... а эпл перешла с собственного формата сперва на рест, а потом на очередной диалект маркдауна..

Sergey
02.06.2016
07:12:52
На днях задался вопросом: стоит ли явно указывать return None в функциях, если она по умолчанию возвращает None?

Zart
02.06.2016
07:13:58
я использую просто return если надо выйти раньше
return и return None по факту имеют одинаковый результат

terry
02.06.2016
07:18:11
для лентяев и не любителей панелей
https://github.com/RoverWire/virtualhost

Admin
ERROR: S client not available

Sergey
02.06.2016
07:19:50
я использую просто return если надо выйти раньше
У меня много кейсов такого типа:
if status == 'OK':
return {'result': True}
else:
return None
И вот тут я не решил, стоит ли указавать явно (дзен питона) или же оставить только первую часть конструкции, т.к. если условие не выполняется функция вернет None по умолчанию

Zart
02.06.2016
07:20:12
я бы тот елсе выкинул

Sergey
02.06.2016
07:21:10
Вот и я склоняюсь к такому варианту

No
02.06.2016
07:21:16
А я бы исключение бросал, если status is not 'OK'

Aragaer
02.06.2016
07:22:22
result = None
if status == 'OK':
result = {'result': True}
return result

Sergey
02.06.2016
07:23:43
Кстати, кто то знает почему определение списка вот так [] работает медленнее чем вот так list(), при этом вот это [1, 2, 3] работает быстрее чем это list(1, 2, 3)

Zart
02.06.2016
07:26:46
[] не должен быть медленее...

Aragaer
02.06.2016
07:26:52
этот вариант обычно рождается в процессе рефакторинга, когда вариантов больше двух. Иногда таким и остается, потому что он читабелен и не вызывает никаких сомнений в том, что именно тут происходит

Zart
02.06.2016
07:26:59
>>> dis.dis(compile('[]', '', 'eval'))
1 0 BUILD_LIST 0
3 RETURN_VALUE
None
>>> dis.dis(compile('list()', '', 'eval'))
1 0 LOAD_NAME 0 (list)
3 CALL_FUNCTION 0
6 RETURN_VALUE
[] - это встроенный опкод, а list() - это вызов функции

Google

Sergey
02.06.2016
07:28:12

Zart
02.06.2016
07:28:41
на практике разницы будет никакой
вдобавок разные версии питона могут иметь разную скорость, в зависимости от изменений в реализации

Sergey
02.06.2016
07:32:10
Чето не понял как я так тестировал, но сейчас получил следующие результаты:

Kostya
02.06.2016
07:33:07
Какую книгу начать читать по пайтону?) с Лутца нормально будет?) посоветуйте, плз)

Sergey
02.06.2016
07:33:12

Zart
02.06.2016
07:33:22
да, в байткоды
что за мода постить текст картинками в даунлоадах...

Kostya
02.06.2016
07:34:20
Даж если вообще нулячий?)
С документации:)

Sergey
02.06.2016
07:34:46

Zart
02.06.2016
07:35:13
слать что, бля, текст?

Aion
02.06.2016
07:35:14

Kostya
02.06.2016
07:35:15
Знаю только как через вайл подбросить 100 раз монету и чтобы рандомно выпадал орел или решок?

Sergey
02.06.2016
07:35:23

Zart
02.06.2016
07:35:36
D:\>py -2.7 -m timeit "[]"
10000000 loops, best of 3: 0.0303 usec per loop
D:\>py -2.7 -m timeit "list()"
10000000 loops, best of 3: 0.131 usec per loop
D:\>py -3.5 -m timeit "[]"
10000000 loops, best of 3: 0.0314 usec per loop
D:\>py -3.5 -m timeit "list()"
10000000 loops, best of 3: 0.151 usec per loop
list() в пять раз медленее

Sergey
02.06.2016
07:36:13

Zart
02.06.2016
07:36:38
ну плюс минус скорость компа, я хз... плюс это тест был 64-бит версии