Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 14, 2018 14:45:50

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

В чем прикол

Мой PyCharm часто ругается на в принципе нормальные вещи, например:

 error = lambda msg: print(f"\033[91m{msg}\033[0m")  # PEP 8: Dont assign a lambda expression, use def instead
А нафиг тогда лямбды вообще нужны, если их использовать не по госту?
И еще кое-что:
 cursor = db.cursor() # This is a curson of my db, gotta use it for dropping those tables to revive em
# PEP 8: At least 2 spaces before inline comment
Чегооооо? Мне надо 2 пробела сделать? Зачееееем? Что курили когда предложение по PEP 8 принимали? Наверняка что-нибудь с ТГК под 30-40%



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Отредактировано DamMercul (Авг. 14, 2018 14:46:32)

Офлайн

#2 Авг. 14, 2018 14:48:50

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2802
Репутация: +  185  -
Профиль   Отправить e-mail  

В чем прикол

1) Не используй PyCharm
2) Не используй PEP 8
3) Не используй строки с форматированием.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Авг. 14, 2018 14:52:29

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

В чем прикол

Rodegast
Уведомления
Группа в Telegram: присоединиться

Начало » Python для новичков » В чем прикол

#1
Стоп стоп, объясни 1, 3 пункты. С чего это



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#4 Авг. 14, 2018 15:54:19

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2802
Репутация: +  185  -
Профиль   Отправить e-mail  

В чем прикол

> Стоп стоп, объясни 1, 3 пункты

1) Есть более интересные варианты. Например я Wing IDE использую он вразы меньше потребляет ресурсов и не долбит всяким PEP 8, по функциональности мне его более чем хватает.
3) Во первых ты затруднишь себе отладку. Во вторых эта возможность появилась не так давно, а значит всё ещё распространены интерпретаторы не поддерживающие эту возможность.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Авг. 14, 2018 16:10:23)

Офлайн

#5 Авг. 14, 2018 17:35:27

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 325
Репутация: +  13  -
Профиль   Отправить e-mail  

В чем прикол

Rodegast
> Стоп стоп, объясни 1, 3 пункты1) Есть более интересные варианты. Например я Wing IDE использую он вразы меньше потребляет ресурсов и не долбит всяким PEP 8, по функциональности мне его более чем хватает.3) Во первых ты затруднишь себе отладку. Во вторых эта возможность появилась не так давно, а значит всё ещё распространены интерпретаторы не поддерживающие эту возможность.
1) Я попробую, если там будет автозаполнение, как у пайчарма, то его и буду юзать
2) Ок, сменю на .format



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#6 Авг. 14, 2018 20:34:45

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

В чем прикол

DamMercul
А нафиг тогда лямбды вообще нужны, если их использовать не по госту?
lambda - это анонимная функция
  
>>> def f(): pass
... 
>>> f
<function f at 0x7fb740808730>
>>> 
>>> g = lambda: None
>>> g
<function <lambda> at 0x7fb74c258ea0>
>>>
Отладчики будут считать её функцией без имени.

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

Поэтому, если тебе надо что-то сложнее простой передачи функции как части выражения, то сделай полноценную функцию. Тем более что в питоне ты можешь создавать (определять) функции внутри функций.

DamMercul
Мне надо 2 пробела сделать? Зачееееем? Что курили когда предложение по PEP 8 принимали?
Помни, что ты не один. Есть читатель, который читает твой код и который тебя вообще не знает и не узнает никогда. То есть твой код есть, а тебя нет. Вот из этого и надо исходить. Дальше берём читателя и смотрим, чем он читает код. Хорошо, если это редактор с подсветкой, а если без подсветки?

Где заканчивается эта строка?
[i ** 2 + i ** 3 for i in range(10) for _ in range(15)] # range(3), range(5), [1, 2, 3]
[i ** 2 + i ** 3 for i in range(10) for _ in range(15)] # range(3), range(5), [1, 2, 3]
[i ** 2 + i ** 3 for i in range(10) for _ in range(15)] # range(3), range(5), [1, 2, 3]
Где заканчивается эта строка?
[i ** 2 + i ** 3 for i in range(10) for _ in range(15)]  # range(3), range(5), [1, 2, 3]
[i ** 2 + i ** 3 for i in range(10) for _ in range(15)] # range(3), range(5), [1, 2, 3]
[i ** 2 + i ** 3 for i in range(10) for _ in range(15)] # range(3), range(5), [1, 2, 3]
Второй вариант легче читать, потому что комментарии можно отбросить боковым зрением.

Вот когда ты почитаешь много кодов (а это обычное дело для программиста - читать много чужого кода), вот тогда ты и поймёшь, нафиг это надо.



Отредактировано py.user.next (Авг. 14, 2018 20:40:15)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version