Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / В Python можно как-то в классах не писать self ? / 25 сообщений из 57, страница 1 из 3
28.11.2018, 13:26
    #39739729
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Этот "дребезжащий мусор" просто надоел. Код становится нечитаемый, потому что не видно сути. Есть какой- то способ писать обращение к членам класса напрямую без self (и другого заменителя)?
...
Рейтинг: 0 / 0
28.11.2018, 13:37
    #39739742
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Нет
...
Рейтинг: 0 / 0
28.11.2018, 16:40
    #39739936
Лысый дядька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQL,

А можно некий пример на неком псевдопитоне, как вы себе это представляете?
...
Рейтинг: 0 / 0
28.11.2018, 17:13
    #39739966
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Лысый дядька,

Не стоит обращать на него внимания. ТС любит по каждой мелочи бежать и жаловаться на форум на тяжёлую жизнь.
...
Рейтинг: 0 / 0
28.11.2018, 18:14
    #39740018
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Лысый дядькаAlekseySQL,

А можно некий пример на неком псевдопитоне, как вы себе это представляете?

Возьмите любой код класса на С++ / Java: там при обращение к членам / методам внутри класса не надо дополнительных танцев с бубном. Код получается элегантным, потому что не содержит лишних ничего- незначащих синтаксических элементов.
...
Рейтинг: 0 / 0
28.11.2018, 19:08
    #39740058
Лысый дядька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQLВозьмите любой код класса на С++ / Java: там при обращение к членам / методам внутри класса не надо дополнительных танцев с бубном.
С интересом посмотрю на Java-код с переменными и функциями в глобальном пространстве имен. Можете показать?
...
Рейтинг: 0 / 0
28.11.2018, 19:20
    #39740072
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQLЛысый дядькаAlekseySQL,

А можно некий пример на неком псевдопитоне, как вы себе это представляете?

Возьмите любой код класса на С++ / Java: там при обращение к членам / методам внутри класса не надо дополнительных танцев с бубном. Код получается элегантным, потому что не содержит лишних ничего- незначащих синтаксических элементов.
Только с питоном такое не пройдёт.
Вот представь себе, что должен делать питон в таком случае в отсутствие обязательного self?
Код: python
1.
2.
3.
4.
5.
6.
class A:
    def foo():
        var = "test"

obj = A()
obj.foo()


Должен ли у инстанса obj появиться новый аттрибут var со значением "test" или же ты просто в скопе метода foo() объявляешь переменную?
Точно так же в Python'е нет ADL, как в C++ и прочих implicit приблуд, а всё делается явным образом:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
def bar(x):
    print("Hello")

class A:
    def bar(self):
        print("Baz")
        
    def foo(self):
        bar(self)

obj = A()
obj.foo()


В C++ подобный код бы вывел "Baz" а не "Hello", как в питоне.

Тебе когда-нибудь надоест жаловаться, что в сутках 24 часа, а не 36, и что на севере холодно, в то время как на юге тепло?
Не нравится питон, выбери любой другой язык. Вон, например, вокруг Kotlin'а сейчас сколько хайпа.
Или напиши уже свой идеальный и душевный язык программирования.
...
Рейтинг: 0 / 0
29.11.2018, 07:47
    #39740188
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
NekZТебе когда-нибудь надоест жаловаться, что в сутках 24 часа, а не 36, и что на севере холодно, в то время как на юге тепло?
Не нравится питон, выбери любой другой язык. Вон, например, вокруг Kotlin'а сейчас сколько хайпа.
Или напиши уже свой идеальный и душевный язык программирования.

Python всего- навсего язык программирования. Поэтому я отношусь к нему утилитарно. Вот, например, простейший код, над которым надо помедитировать, чтобы понять что он делает:
Код: python
1.
self.a = self.b + self.c/self.d



Если хочется динамически добавлять члены объекта, то для этих более редких случаев как раз можно использовать self (что будет даже удобно при чтении, поскольку выделит эту часть кода), а области видимости разрешать также, как это сделано в функциях (чтобы было единообразие).
...
Рейтинг: 0 / 0
29.11.2018, 08:44
    #39740196
Лысый дядька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQLВот, например, простейший код, над которым надо помедитировать

Мне кажется ты в жизни написал не более пары десятков строк кода
...
Рейтинг: 0 / 0
29.11.2018, 10:05
    #39740228
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Лысый дядькаAlekseySQLВот, например, простейший код, над которым надо помедитировать

Мне кажется ты в жизни написал не более пары десятков строк кода

Мы можем, конечно, заниматься взаимными оскорблениями и упреками. Но это неэффективный путь.

По сути вопроса: приведенный мной код для его понимания нужно ЧИТАТЬ, его невозможно ухватить бросив один беглый взгляд. А код должен быть ПРОСМАТРИВАЕМЫМ, только тогда программировать становится легко и размер проекта легко растет количественно. Наоборот, если код написан сложно, то на определенном размере проекта он просто перестает расти: программист ходит на работу, ужасно устает, но по факту выхлоп практически нулевой.

В свое время я познакомился с потрясающей книгой Роберта Мартина "Чистый код", которая не мной признана бестселлером. Там автор приводит такую аналогию: код должен быть похож на газетную статью. Согласитесь, что ушлые журналисты составляют газетные статьи так, что их можно просто просматривать, в целом понимая суть изложенного. Собственно только легкость и чистота отличает код сеньора (а джун сколько не тужится, у него все равно получаются ребусы).
...
Рейтинг: 0 / 0
29.11.2018, 11:57
    #39740287
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Лысый дядькаAlekseySQLВозьмите любой код класса на С++ / Java: там при обращение к членам / методам внутри класса не надо дополнительных танцев с бубном.
С интересом посмотрю на Java-код с переменными и функциями в глобальном пространстве имен. Можете показать?
...
Рейтинг: 0 / 0
30.11.2018, 14:04
    #39740872
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
А есть в языке какие- нибудь макро- подстановки, типа define в С++?

Тогда бы я в своем коде зарезервировал какой- нибудь символ и использовало его исключительно в качестве self.
...
Рейтинг: 0 / 0
30.11.2018, 15:33
    #39741004
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQLА есть в языке какие- нибудь макро- подстановки, типа define в С++?

Тогда бы я в своем коде зарезервировал какой- нибудь символ и использовало его исключительно в качестве self.
Опять ты про C++. "В чужой монастырь со своим уставом не ходят".
Во-первых, "self" не является ключевым словом. Ты можешь вместо него писать this или что-нибудь ещё.
Во-вторых, если уж так сильно хочется препроцессинга, можешь попытать удачу с Jinja2 (это было бы забавно наблюдать со стороны).
...
Рейтинг: 0 / 0
30.11.2018, 16:18
    #39741078
Лысый дядька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQL,

Ты не ответил, на вопрос, как бы ты видел программу на питоне, без self. Плюс к этому тебе нужны тебе еще и макросы на питоне. Повторю вопрос - покажи программу на питоне с классами без self и плюс еще с макросами. Как она должна выглядеть? Ответ "как Джава" не принимается, ибо Джава уже есть и другой не нужно. Покажи промер кода.
...
Рейтинг: 0 / 0
30.11.2018, 16:43
    #39741123
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Лысый дядькаAlekseySQL,

Ты не ответил, на вопрос, как бы ты видел программу на питоне, без self. Плюс к этому тебе нужны тебе еще и макросы на питоне. Повторю вопрос - покажи программу на питоне с классами без self и плюс еще с макросами. Как она должна выглядеть? Ответ "как Джава" не принимается, ибо Джава уже есть и другой не нужно. Покажи промер кода.

Я уже писал решение: динамическое добавление атрибутов делать с помощью self, а область видимости разрешать как у функций.
...
Рейтинг: 0 / 0
30.11.2018, 17:35
    #39741169
Лысый дядька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQL,
ну от вас же ждут пример программы, а не словесное ее описание. Давайте пример.
...
Рейтинг: 0 / 0
30.11.2018, 17:38
    #39741172
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Лысый дядькаAlekseySQL,
ну от вас же ждут пример программы, а не словесное ее описание. Давайте пример.

Если бы я знал как это сделать, то не задавал этот вопрос в топике. Может например, существуют какие- то классы, которые позволяют это сделать(например, недавно в языке появились классы данных).
...
Рейтинг: 0 / 0
30.11.2018, 17:42
    #39741182
Лысый дядька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQL,

Так от вас ждут пример на выдуманном питоне, таком как вы его видите для себя. Напишите программу на несуществующем сейчас питонге, так как он бы вас устраивал.
...
Рейтинг: 0 / 0
30.11.2018, 21:42
    #39741315
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Лысый дядькаAlekseySQL,

Так от вас ждут пример на выдуманном питоне, таком как вы его видите для себя. Напишите программу на несуществующем сейчас питонге, так как он бы вас устраивал.

Да не проблема это записать как на яве, только работать не будет.
...
Рейтинг: 0 / 0
01.12.2018, 08:42
    #39741354
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
А может есть IDE, которые позволяют настроить препроцессинг? Ведь по логике сделать банальные замены в тексовом файле для IDE не проблема...
...
Рейтинг: 0 / 0
01.12.2018, 08:50
    #39741355
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Чтобы было понятно, что вопрос не высосан из пальца прилагаю скриншот своего реального кода, на котором self торчит отовсюду. Да и дело не в доле, занимаемой self, а в том, что я физически чувствую усталость при работе с подобным кодом.
...
Рейтинг: 0 / 0
01.12.2018, 11:07
    #39741389
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
AlekseySQL,

Когда пишешь отборный говнокод, то, и правда, виноват только язык, а не ты сам.
...
Рейтинг: 0 / 0
01.12.2018, 11:18
    #39741391
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
NekZ, это код изменения состояния загрузчика внешних данных в зависимости от ответа сервера (варьируется интервал выполнения запросов). Действительно может показаться, что функция не разделена на более мелкие логические составляющие. Изначально я пошел по второму пути и создал несколько маленьких функций, в следствии чего пропало понимание последовательности в цепи состояний, поскольку разрозненные функции не давали общую картину.

Причем деление на более мелкие функции не снимает необходимости везде писать тот же самый self. Его также неприлично много, и он также "загораживает" реальный код.
...
Рейтинг: 0 / 0
01.12.2018, 17:21
    #39741465
Лысый дядька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
HettДа не проблема это записать как на яве, только работать не будет.
Разумеется, не будет. Вот как только ТС попытается написать программу на питоне как на яве, он немедленно поймет, зачем там нужен self. Пока он только тупит и пускает пузыри, как обосравшаяся девочка из младшей группы детсада, о чем с ним вообще говорить?
...
Рейтинг: 0 / 0
01.12.2018, 17:27
    #39741466
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В Python можно как-то в классах не писать self ?
Ну не нравится синтаксис этого языка, так почему бы не писать на том, который нравится? Какой-то весьма странный вопрос в условиях, когда языков программирования как грязи...
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / В Python можно как-то в классах не писать self ? / 25 сообщений из 57, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]