Найти - Пользователи
Полная версия: Нуждаюсь в codereview.
Начало » Python для новичков » Нуждаюсь в codereview.
1 2 3
likin
Использую pyCharm community edition. Помог поправить код к стандартам PEP8.

Спасибо.
py.user.next
likin
argparse основана на optparse, то есть не является устаревшей

There are two other modules that fulfill the same task, namely getopt (an equivalent for getopt() from the C language) and the deprecated optparse.
kise97
# https://github.com/vlikin/sitemap_builder_test/blob/master/sitemap.py#L20
if len(args) == 0:
Это все мои тараканы, но я делаю так
if not len(args):

# https://github.com/vlikin/sitemap_builder_test/blob/master/lib/page.py#L35
if None == parent:
Ну я даже не знаю… как то вообще не так выглядит..
if parent is not None:


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

Да и вообще, попробуйте это оформить все покрасивее в виде пакета, с конфиг файлами и все такое, потому что это всегда удобнее.
FishHook
kise97
if not len(args):
if not args:
Shaman
row_list = []
row = [id(self), level, self.url, id(parent)]
row_list.append(row)
row больше нигде не используется
row_list = [[id(self), level, self.url, id(parent)]]
kise97
FishHook
Такая запись будет неправильной в python 3
FishHook
kise97
Это что с чего это вдруг?
kise97
FishHook
Это что с чего это вдруг?
Убей не помню где, но прочитал, что лучше использовать len() чем не использовать его.
py.user.next
kise97
лучше использовать len() чем не использовать его

>>> class List(list):
...     def __bool__(self):
...         return len(self) > 0 and self[0] > 5
... 
>>> lst = List(range(3))
>>> bool(lst), len(lst)
(False, 3)
>>> 
>>> lst[0] = 10
>>> bool(lst), len(lst)
(True, 3)
>>>

По той же причине используют проверку на None вместо простой логической проверки. Если объект теоретически может иметь другой тип, то теоретически в нём может быть переопределён __bool__.
FishHook
py.user.next
По той же причине используют проверку на None вместо простой логической проверки. Если объект теоретически может иметь другой тип, то теоретически в нём может быть переопределён __bool__.
Проверку на None делают, когда объект может быть нулем, пустой строкой, пустым списком, т.д. и эту ситуацию нужно отделить от случая, когда состояние объекта еще не определено.
>>>Если объект теоретически может иметь другой тип, то теоретически в нём может быть переопределён __bool__.
Теоретически в объекте может быть переопределён __len__.
Как правило питон-программист знает тип переменной, с которой работает.
В обсуждаемом случае
def foo(*args):
проверять args на длину, ИМХО, говнокод.
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