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

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

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

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

Возьмите любой код класса на С++ / Java: там при обращение к членам / методам внутри класса не надо дополнительных танцев с бубном. Код получается элегантным, потому что не содержит лишних ничего- незначащих синтаксических элементов.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39740058
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLВозьмите любой код класса на С++ / Java: там при обращение к членам / методам внутри класса не надо дополнительных танцев с бубном.
С интересом посмотрю на Java-код с переменными и функциями в глобальном пространстве имен. Можете показать?
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39740072
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
В Python можно как-то в классах не писать self ?
    #39740188
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NekZТебе когда-нибудь надоест жаловаться, что в сутках 24 часа, а не 36, и что на севере холодно, в то время как на юге тепло?
Не нравится питон, выбери любой другой язык. Вон, например, вокруг Kotlin'а сейчас сколько хайпа.
Или напиши уже свой идеальный и душевный язык программирования.

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Причем деление на более мелкие функции не снимает необходимости везде писать тот же самый self. Его также неприлично много, и он также "загораживает" реальный код.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741465
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettДа не проблема это записать как на яве, только работать не будет.
Разумеется, не будет. Вот как только ТС попытается написать программу на питоне как на яве, он немедленно поймет, зачем там нужен self. Пока он только тупит и пускает пузыри, как обосравшаяся девочка из младшей группы детсада, о чем с ним вообще говорить?
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741466
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не нравится синтаксис этого языка, так почему бы не писать на том, который нравится? Какой-то весьма странный вопрос в условиях, когда языков программирования как грязи...
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741496
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лысый дядькаHettДа не проблема это записать как на яве, только работать не будет.
Разумеется, не будет. Вот как только ТС попытается написать программу на питоне как на яве, он немедленно поймет, зачем там нужен self. Пока он только тупит и пускает пузыри, как обосравшаяся девочка из младшей группы детсада, о чем с ним вообще говорить?

А чем препроцессинг мешает идиологии python? Например, если вместо self. у меня в коде будет @, то как это сломает динамичность языка или не позволит разрешить области видимости? Повторяю: я использую Python УТИЛИТАРНО, а не религиозно. Мне надо чтобы работало, а веру в идеальность Python оставьте себе.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741499
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleНу не нравится синтаксис этого языка, так почему бы не писать на том, который нравится? Какой-то весьма странный вопрос в условиях, когда языков программирования как грязи...

Потому что не существует ничего идеального. И вся жизнь человека сводится к выбору не сильно корявого решения и допиливания до приемлемого результата (чем я сейчас и занимаюсь). Повторюсь, я не верю в Python, как в Бога, я его ИСПОЛЬЗУЮ.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741511
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLvkleНу не нравится синтаксис этого языка, так почему бы не писать на том, который нравится? Какой-то весьма странный вопрос в условиях, когда языков программирования как грязи...

Потому что не существует ничего идеального. И вся жизнь человека сводится к выбору не сильно корявого решения и допиливания до приемлемого результата (чем я сейчас и занимаюсь). Повторюсь, я не верю в Python, как в Бога, я его ИСПОЛЬЗУЮ.
ну напиши себе препроцессор
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741513
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изопропилну напиши себе препроцессор

Так просто отделаться не получится: надо будет в IDE добавлять поддержку нового синтаксиса, что уже значительно сложнее.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741515
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Было бы конечно здорово, если бы существовало два типа классов: статические (без self) и динамические (с self). Первые бы работали быстро и были простые (не содержали лишних элементов языка), а вторые можно было бы использовать в метапрограммировании (создавать "на лету"). Согласитесь, что метапрограммированием мало кто занимается (да если и занимается, то не везде), но все должны платить за эти возможности: низкая скорость работы + замусоренность кода.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741517
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL,
Ну и где пример кода на идеальном питоне? Покажи.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741518
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLА чем препроцессинг мешает идиологии python?
Ничем. Покажи пример.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741546
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысый дядькаAlekseySQLА чем препроцессинг мешает идиологии python?
Ничем. Покажи пример.

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

Ничем. Покажи пример.

Пример был, удаляешь из него все вхождения self. Проблемы?

Человек пишет много однотипных бессмысленных сообщений (в духе: напиши код, который в топике спрашиваешь как написать). Прошу не реагируйте на них, и он уйдет.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741602
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас прихожу к такому спорному решению (чтобы меньше было дребезжащего self.):
1. Константные члены делать глобальными переменными модуля (даже если логически они и относятся к объекту).
2. Переменные нужные только в одном месте не делать членами объекта, а создавать в виде локальных переменных метода (и передавать их вниз по стеку в качестве параметров методов).
3. Приватные методы объекта делать глобальными процедурами модуля.

Т.е. в объекте останутся только (и их нужно будет писать вместе с self):
1. Переменные, меняющие свое состояние во время жизни объекта.
2. Публичные методы.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741608
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL,

результат опубликуй здесь - https://www.govnokod.ru/python
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741761
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилAlekseySQL,

результат опубликуй здесь - https://www.govnokod.ru/python

Это мой любимый сайт! :)
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741849
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettПример был, удаляешь из него все вхождения self. Проблемы?

Проблема в том, что ссылка на объект в питоне необходима по причине пересечения областей видимости переменных.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
class Foo:
    a = 1
    
    def __init__(self):
        self.a = 2
    
        class Bar:
            a = 3
            
            def __init__(this):
                this.a = 4
 
                class Baz:
                     a = 5
                     def __init__(pointer):
                          pointer.a = 6
  



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

Проблема в том, что ссылка на объект в питоне необходима по причине пересечения областей видимости переменных.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
class Foo:
    a = 1
    
    def __init__(self):
        self.a = 2
    
        class Bar:
            a = 3
            
            def __init__(this):
                this.a = 4
 
                class Baz:
                     a = 5
                     def __init__(pointer):
                          pointer.a = 6
  



о чем вопрошающему было поведано в первых сообщениях. Если это не понятно, то надо заняться каким-нибудь менее интеллектуальным занятием. Если ТС видит способ, как можно задать область видимости без ссылки на объект, пусть покажет код. Убрать ссылку - вариант, как понимаешь, плохой.

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

Возьми и напиши господину Гвидо Ван Россуму в Америку, так мол и так, уважаемый Гвидо, двадцать лет назад ты сделал на мой взгляд большую ошибку сделав питон динамическим языком программирования. Я вот, например, считаю, что это плохо и неправильно. Но если в новой версии языка, ты уберешь все динамимические возможности, то это даст мне сил писать программы без богопротивного self, и это будет хорошо, потому что я тут написал пару десятков строчек говнокода и ментально устал видеть его во всех объектах. А вообще было бы хорошо, добавить еще статическую типизацию, интерфейсы и дженерики. И пожалуйста, переименуй этот питон во что-нибудь челевеческое. Например в ПиДжаву или Py++, а то название дурацкое и мне не нравится. Мальчик Лёша, девятнадцать годиков.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741907
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысый дядькаAlekseySQLВот, господа! Теперь есть возможность сравнить чей говнокод говнокодистее: то что я предложил выше или подобные чудесные конструкции. Ведь именно ради возможности ваять подобный чудный код мне объясняют, что мое решение ужасно.

Возьми и напиши господину Гвидо Ван Россуму в Америку, так мол и так, уважаемый Гвидо, двадцать лет назад ты сделал на мой взгляд большую ошибку сделав питон динамическим языком программирования. Я вот, например, считаю, что это плохо и неправильно. Но если в новой версии языка, ты уберешь все динамимические возможности, то это даст мне сил писать программы без богопротивного self, и это будет хорошо, потому что я тут написал пару десятков строчек говнокода и ментально устал видеть его во всех объектах. А вообще было бы хорошо, добавить еще статическую типизацию, интерфейсы и дженерики. И пожалуйста, переименуй этот питон во что-нибудь челевеческое. Например в ПиДжаву или Py++, а то название дурацкое и мне не нравится. Мальчик Лёша, девятнадцать годиков.
Только пусть отправит ему это 30-го марта, чтобы тов. ван Россуму было время подготовить лучшую первоапрельскую шутку.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741912
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысый дядькаHettПример был, удаляешь из него все вхождения self. Проблемы?

Проблема в том, что ссылка на объект в питоне необходима по причине пересечения областей видимости переменных.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
class Foo:
    a = 1
    
    def __init__(self):
        self.a = 2
    
        class Bar:
            a = 3
            
            def __init__(this):
                this.a = 4
 
                class Baz:
                     a = 5
                     def __init__(pointer):
                          pointer.a = 6
  



о чем вопрошающему было поведано в первых сообщениях. Если это не понятно, то надо заняться каким-нибудь менее интеллектуальным занятием. Если ТС видит способ, как можно задать область видимости без ссылки на объект, пусть покажет код. Убрать ссылку - вариант, как понимаешь, плохой.


Ну тогда рил проблем.
Теперь еще больше не люблю питон. Хотя это наверное все дело вкуса.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741923
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лысый дядькаВозьми и напиши господину Гвидо Ван Россуму в Америку, так мол и так, уважаемый Гвидо, двадцать лет назад ты сделал на мой взгляд большую ошибку сделав питон динамическим языком программирования. Я вот, например, считаю, что это плохо и неправильно. Но если в новой версии языка, ты уберешь все динамимические возможности, то это даст мне сил писать программы без богопротивного self, и это будет хорошо, потому что я тут написал пару десятков строчек говнокода и ментально устал видеть его во всех объектах. А вообще было бы хорошо, добавить еще статическую типизацию, интерфейсы и дженерики. И пожалуйста, переименуй этот питон во что-нибудь челевеческое. Например в ПиДжаву или Py++, а то название дурацкое и мне не нравится. Мальчик Лёша, девятнадцать годиков.

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

а почему именно питон? может дейстсвительно лучше яву взять, если ее философия ближе?
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741946
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLУ вас религиозный подход к языку: вы даже вопросы о возможностях воспринимаете как враждебные действия. А ведь возможно мой вопрос как- то легко решается (например, препроцессингом в некоторых IDE или специфичными объектами из кучи внешних библиотек). А когда я нашел, что вполне возможно для этого использовать модули с небольшим объектом в качестве интерфейса, то тоже оказывается плохо, потому что ... не по религии.
IDE, препроцессящая твой код, это прямо как Двое-Из-Ларца из м/ф "Вовка в Тридевятом царстве", со всеми вытекающими отсюда последствиями,
учитывая, что у каждого разработчика, возможна своя версия Двоих-Из-Ларца.
А насчёт религии, я тебе уже напомнил пословицу про устав и монастырь. Ни от кого на этом форуме не было столько сравнений (PHP|Perl|Python) с C++.
И тебе уже не раз было сказано, не нравится в нашем монастыре -- ищи другой, нынче их много и более новых/модных/молодёжных.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39741989
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL,

То чем ты сейчас занимаешься называется "душный троллинг". Суть его очень проста - непрерывно тупить оставаясь максимально политкорректным. Твой стартовый вопрос уже можно было бы оставить без внимания, потому что он задается от лица человека, который якобы продолжительное время работает с питоном, настолько продолжительное, что ему успели надоесть некоторые особенности языка. При этом вопрошается об азбучных истинах, которые разжевываются в кашу в любом букваре. Вот уже тут все понятно и можно смело тебя посылать по направлению. Ну ладно, бог с ним, ответ ты получил. И что на этом успокоился? Нифига, каждым новым сообщением включается новая итерация занудного гундоса, с которым забыли посовещаться, как же нужно было проектировать язык. Это кому-то нужно? Если ты даже после вот этого сообщения 21751794 , не понял, почему твой вопрос тупой, ну это либо крайняя тупость, либо троллинг. И суть этого троллинга тоже ведь понятна: тебе скучно. Работаешь ты каким-нибудь эникейщиком в конторе "Вектор" и не с кем тебе поболтать о славных временах студенчества и страданиями над Бобом Мартином.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39742236
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HettAlekseySQL,

а почему именно питон? может дейстсвительно лучше яву взять, если ее философия ближе?

Я уже писал, что нет ничего идеального и нужно брать более- менее подходящее, а потом доводить до ума. Мне в Python не нравится только self. , который засоряет код и делает его не просматриваемым (а приходится весь код читать и поэтому уставать).
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39742242
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NekZIDE, препроцессящая твой код, это прямо как Двое-Из-Ларца из м/ф "Вовка в Тридевятом царстве", со всеми вытекающими отсюда последствиями,
учитывая, что у каждого разработчика, возможна своя версия Двоих-Из-Ларца.

Как же тогда IDE делает другие операции, например, рефакторинг?

NekZА насчёт религии, я тебе уже напомнил пословицу про устав и монастырь. Ни от кого на этом форуме не было столько сравнений (PHP|Perl|Python) с C++.

От меня не было ни одного сравнения языков . Ни одного. Приведите, пожалуйста, ссылку на подобные сравнения .

NekZИ тебе уже не раз было сказано, не нравится в нашем монастыре -- ищи другой, нынче их много и более новых/модных/молодёжных.

Вопрос, который я поднял не высосан из пальца (и для оправдания я уже приводил кусок кода, который на мой взгляд трудночитаем из- за замусоривания 'self.'). Не только я придерживаюсь такой точки зрения, посмотрите что про это думает google:
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39742265
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гугл, безусловно, надежный индикатор чаяний идиотов.





...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39742296
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лысый дядька, зачем вы вводили начальные буквы слов 'bra', 'generi', 'typing'? Разумеется вы получили бы именно такие ответы. Зачем это жульничество, вы местных форумчан считаете идиотами?

А теперь давайте проверим хватит ли у вас честности привести скриншот полученный по фразе "pyhton with " (ведь я использовал фразу "python without ").
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39742320
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL,

Держи, гений мысли и отец русской демократии

...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39742339
Фотография NekZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLКак же тогда IDE делает другие операции, например, рефакторинг?

Не путай рефакторинг и препроцессинг. Рефакторинг в IDE, это единоразовая операция, которую ты сам наглядно контролируешь.
Препроцессинг (если мы говорим о препроцессоре C/C++), это автономная и обязательная операция, преобразования одного кода в другой.
IDE здесь никаким образом не привязана, этим занимается компилятор. Ты явно путаешь IDE и компилятор/интерпретатор.
Ждём новых перлов типа рефакторинга от компилятора.

AlekseySQLОт меня не было ни одного сравнения языков . Ни одного. Приведите, пожалуйста, ссылку на подобные сравнения .

Включил дурачка? "А вот в С++ оно вот так вот, а в Python'е, оно совсем иначе", размазано тонким слоем по большинству твоих тем здесь.

AlekseySQLВопрос, который я поднял не высосан из пальца (и для оправдания я уже приводил кусок кода, который на мой взгляд трудночитаем из- за замусоривания 'self.'). Не только я придерживаюсь такой точки зрения, посмотрите что про это думает google:
Гугл ничего не думает.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39744939
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLЭтот "дребезжащий мусор" просто надоел. Код становится нечитаемый, потому что не видно сути. Есть какой- то способ писать обращение к членам класса напрямую без self (и другого заменителя)?не получится
ИМХО: родовая травма языка, которую не исправить из-за кучи легаци (3.0 то едва прожевали)

в более поздних языках проблема обычно решается обязательной декларацией переменных.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39775186
Gwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим в классе есть объект, к которому обращение идёт по self.SomeObject
и есть метод класса, в котором есть множество обращений к этому объекту
Тогда в начале метода определяем синоним
so = self.SomeObject
и далее обращаемся к нему по so
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39775320
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GwaДопустим в классе есть объект, к которому обращение идёт по self.SomeObject
и есть метод класса, в котором есть множество обращений к этому объекту
Тогда в начале метода определяем синоним
so = self.SomeObject
и далее обращаемся к нему по so

Крайне важное замечание! Но что именно вы хотели этим сказать? Что в питоне можно использовать переменные? А кто-то не знал или спорил с этим утверждением?
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39775551
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лысый дядькаHettПример был, удаляешь из него все вхождения self. Проблемы?

Проблема в том, что ссылка на объект в питоне необходима по причине пересечения областей видимости переменных.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
class Foo:
    a = 1
    
    def __init__(self):
        self.a = 2
    
        class Bar:
            a = 3
            
            def __init__(this):
                this.a = 4
 
                class Baz:
                     a = 5
                     def __init__(pointer):
                          pointer.a = 6
  



о чем вопрошающему было поведано в первых сообщениях. Если это не понятно, то надо заняться каким-нибудь менее интеллектуальным занятием. Если ТС видит способ, как можно задать область видимости без ссылки на объект, пусть покажет код. Убрать ссылку - вариант, как понимаешь, плохой.

это несомненная правда. Но в синтакисе ruby смогли решить одной закорючкой. Отделив область видимости объекта.... ну так, к слову.
...
Рейтинг: 0 / 0
В Python можно как-то в классах не писать self ?
    #39775763
Лысый дядька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir Baskakovэто несомненная правда. Но в синтакисе ruby смогли решить одной закорючкой. Отделив область видимости объекта.... ну так, к слову.

Покажите цитируемый вами код переписанный на руби, чтоб не к слову а по факту.
...
Рейтинг: 0 / 0
57 сообщений из 57, показаны все 3 страниц
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / В Python можно как-то в классах не писать self ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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