LINUX.ORG.RU
ФорумTalks

Почему у питона батарейки севшие?

 ,


2

2

ну вот, подфартила шабашка - надо накропать на джанге унутренний сервис.

Ну ладно там все динамическое - обмазался тайпхинтами, стало чуть похоже на божественную яву. Но ёмаё чуть шаг в лево - надо все делать руками.

- объект в json не засовывается (только словарь)

- тип надо указывать, в комментарии! # type: RageString

- модель джанги хитронаговнякана так что ide пишет, мол Model.objects - в первый раз вижу

- снять дамп потоков? фиг вам!

- прервать поток если приложение тушат? лови сигналы и катай солнце вручную!

И эти люди говорят про батарейки!

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

- объект в json не засовывается (только словарь)

Ложь.

- тип надо указывать, в комментарии! # type: RageString

Не надо.

- модель джанги хитронаговнякана так что ide пишет, мол Model.objects - в первый раз вижу

Не используй IDE

- снять дамп потоков? фиг вам!

Поясни.

- прервать поток если приложение тушат? лови сигналы и катай солнце вручную!

Дык это везде так.

dmxrand
()
Ответ на: комментарий от dmxrand

Ложь.

Мухаха!

>>> class Test: pass
... 
>>> t = Test()
>>> import json
>>> json.dumps(t)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.5/json/__init__.py", line 230, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python3.5/json/encoder.py", line 198, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.5/json/encoder.py", line 256, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python3.5/json/encoder.py", line 179, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <__main__.Test object at 0x7f1075262c18> is not JSON serializable
>>> 

Дальше с тобой обсуждать нечего.

Deleted
()
Ответ на: комментарий от Deleted

json.dumps(c, default=lambda o: o.__dict__)

Дальше с тобой обсуждать нечего. Учи матчасть. В json можно даже соединение с СУБД выкатить или файл.

dmxrand
()
Ответ на: комментарий от dmxrand

чуть шаг в лево - надо все делать руками.

default=lambda o: o.__dict__

Так и вижу, как ты доказываешь что костыли часть философии

Deleted
()
Ответ на: комментарий от stave

Я не пойму нахрена он еще треды лепит. Ну хочет человек головой биться об стену - пусть бьется.

dmxrand
()
Ответ на: комментарий от stave

не, после ковыряния отладчиком в недрах всякой EE бредятины (особливо люблю фокусы хайбернейта) это кажется хелловорлдом

Deleted
()
Ответ на: комментарий от i-rinat

Во во. Аааа в Англии говорят по английски и не поняли слово «я хочу посрать»

dmxrand
()
Ответ на: комментарий от Deleted

Ага. А у тебя поле это хэндл открытого файла. trowOut за тебя написал ТОТ кто объект создавал. Так, что если я не собираюсь выкатывать МОЙ объект в json теперь это ТВОИ проблемы.

dmxrand
()

перепиши на хаскель

Bad_ptr ★★★★★
()
Ответ на: комментарий от i-rinat

Я правильно понял?

неа, почему весь такой питон на батарейках ничего не умеет без костыляния? Ява тут приплетена лишь к вопросу о типизации, можешь вместо нее любой другой язык подставить.

Deleted
()
Ответ на: комментарий от dmxrand

выкинешь, выкатывать
json

ты случайно трезв? при чем тут эти твои любимые глаголы и жысон?

Deleted
()
Ответ на: комментарий от Deleted

неа, почему весь такой питон на батарейках ничего не умеет без костыляния?

FIX: subwoofer не умеет в python без костыляния.

dmxrand
()
Ответ на: комментарий от Deleted

В чужой монастырь со своим уставом не надо ходить.

Любишь ты Жабу - пиши на жабе. А ежли ты НИХРЕНА не понял, то чего орать? Попа боль? Ты еще скажи, что Python не умеет в jar.

Задай ты вопрос нормально яб тебе по пунктам объяснил. Кстати у твоего throwOut есть БООЛЬШАЯ проблема.

dmxrand
()
Ответ на: комментарий от dmxrand

В чужой монастырь со своим уставом не надо ходить.

о свалку костылей назвали монастырем!

ну давай поведай, почему тип указывается в комментарии

Deleted
()
Ответ на: комментарий от Deleted

почему весь такой питон на батарейках ничего не умеет без костыляния?

Почему ты решил, что он должен уметь?

Или ты открыл для себя языки с динамической типизацией? Из-за неё некоторые питон ненавидят, а некоторые — обожают. Если тебе это не подходит, просто не пользуешься. Берёшь более подходящий инструмент и вперёд, к свершениям. В чём проблема-то?

i-rinat ★★★★★
()
Ответ на: комментарий от Deleted

Да ты. Покажи мне где тут тип в комментарии?

def port_data_read(port_name):
    global out_dir
    """Чтение данных из последовательного порта"""
    import serial
    ser = serial.Serial(port_name)
    ser.baudrate = 9600
    while True:
        # читаем строку из порта
        line = ser.readline()
        # декодируем строку в текстовый формат
        line = line.decode()
        # обрезаем лишние пробельные символы
        line = line.rstrip()
        # отдаём процедуре обработки строки
        parce_string(line)

dmxrand
()
Ответ на: комментарий от i-rinat

Это код с хабры. Тут на самом деле куча косяков. Начиная от глобал и импорт в функции. Но я показываю, что типов тут нет.

dmxrand
()
Ответ на: комментарий от true_admin

PS не люблю джангу

Ага. Оно устарело как гавно мамонта, но правда много что написано. И да тред чисто поржать.

dmxrand
()
Ответ на: комментарий от i-rinat

почему весь такой питон на батарейках ничего не умеет без костыляния?

Почему ты решил, что он должен уметь?

Вдумайся в вопрос который ты задал.

Или ты открыл для себя языки с динамической типизацией?

При чем здесь типизация? У тебя какоето нездоровое внимание к этому вопросу. Вот возьмем js, он весь такой кривой, но замыкания там изкоробки. А в питоне когда родили nonlocal? (в яве с мутабельными переменными в замыканиях все плохо, это просто чтобы тебя опять не вело на тему 'вали в вашу яву и не мешайте нам наслаждаться')

Deleted
()
Ответ на: комментарий от Deleted

Вот возьмем js, он весь такой кривой, но замыкания там изкоробки.

def outer_func(x):
    def inner_func(y):
        # inner_func замкнуло в себе х
        return y + x
    return inner_func
dmxrand
()
Ответ на: комментарий от true_admin

оно вообщето до ужоса кривое и умеет только джанговые кверисеты, гдето на SO даже доносился вой как сериализовать один объект через это, но я не стал читать, т.к. унутри там DjangoJSONEncoder

Deleted
()
Ответ на: комментарий от dmxrand

Ну и где тут комментарии?

Ты даже документацию читать не умеешь? Я даже не знаю чем тебе помочь, да и надо ли?

Deleted
()
Ответ на: комментарий от Deleted

Вдумайся в вопрос который ты задал.

Он странный только если твоё «ничего не умеет» означает, что он реально не умеет ничего. А на самом деле он значит «ничего не умеет из того, что я от него хочу». Так что всё норм.

При чем здесь типизация?

Потому что в питоне её нет. Ты нашёл какую-то дичь, прикручиваемую сбоку. Поэтому эта дичь в комментариях.

А в питоне когда родили nonlocal?

А зачем? Может, стоило Node.js тогда взять? Ты уж определись, что тебе нужно, и бери подходящий инструмент. Или тебя сержант заставляет писать именно на питоне?

Мне как-то захотелось объект конфига сделать как объект в Javascript, чтобы без config['parameter_name'], а сразу config.parameter_name. И ты знаешь, три строчки — и готово. Хотя с точки зрения питонистов это ужас, наверное.

i-rinat ★★★★★
()
Ответ на: комментарий от Deleted

Ты даже документацию читать не умеешь? Я даже не знаю чем тебе помочь, да и надо ли?

Ты не умничай, ты пальцем ткни. Комментарий начинается с # я тебе привел код.

def annotated(x: int, y: str) -> bool:
    return x < y

Где тут #?

dmxrand
()

Чем хороши динамические языки типа Питона И Раби? Не нужно забивать голову существованием указателей, Гоу твою за ногу!

lochness
()

взял ЯП с динамической типизацией
жалуется на то что не надо указывать типы

экий ты толстяк, но дальше читать не стану

Dred ★★★★★
()
Ответ на: комментарий от dmxrand

Ты даже документацию читать не умеешь? Я даже не знаю чем тебе помочь, да и надо ли?

Ты не умничай

хаха типичный программист, доку не читать, всех остальных затыкать

Deleted
()
Ответ на: комментарий от Deleted

должно вернуть 10, а вернет 1

ну ладно, это я прочел. Это очень странно что ты не понимаешь почему хорошо, что оно вернет 1, а не 10. Если нет, то дорога тебе в JavaScript, серьезно, там это принято

Dred ★★★★★
()
Ответ на: комментарий от EXL

Разве в статических языках типа Java ты тоже явно оперируешь ими?

Не знаю, но в Go - приходится. Пописываю на нём свой (учебный) проект... иногда прифигеваю с автоматического разыменования указателей и как это вообще работает!111

Но надеюсь через полгода осознать. Тяжко после интерпретируемых язычков переходить.

lochness
()
Ответ на: комментарий от dmxrand

зачем мне возвращать функцию? или при виде функции у тебя всегда желание ее вернуть? замыкания они немного более мощные чем ты их представляешь, потому и появился nonlocal в питоне 8)

Deleted
()
Ответ на: комментарий от Dred

почему хорошо,

хорошо это когда есть возможности, и с 3го питона стало хорошо, а те кто радуется ограниченности... ну что с ними поделать 8)

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.