@ru_python

Страница 9663 из 9768
koder
21.07.2019
22:51:34
Да в рантайме можно их использовать. В момент когда известны данные. Это такая более вменяемая замена assert не более.
в рантайме есть чекеры, но они не оправдывают привносимые тормоза чаще всего

Julian =)
21.07.2019
22:51:46
полностью написанный без хинтов код с прямыми руками работает нормально
Вообще, тут надо было сказать о том, что хорошо написанный код на асме с прямыми руками работает отлично. Но я скажу, что когда вот этих ваших языков програмирования не было и была тока палка и камень было еще пизже. Главное руки прямые.

Google
koder
21.07.2019
22:51:55
Ну продолжайте дальше верить, что он как-то магически помогает.
ты точно странный, думаю говорить смысла не имеет

Julian =)
21.07.2019
22:52:20
Ну продолжайте дальше верить, что он как-то магически помогает.
Ну лол, в компилируемых языках проверка типов работает без рантайма.

Andrey
21.07.2019
22:52:21
в рантайме есть чекеры, но они не оправдывают привносимые тормоза чаще всего
А иначе нет возможности ничего проверить. Чтобы проверить надо иметь данные.

Там тип жёстко привязан и неизменен.

А тут я могу передать что хочу.

Julian =)
21.07.2019
22:53:07
А иначе нет возможности ничего проверить. Чтобы проверить надо иметь данные.
Данные не приходят магически ниоткуда. Они приходят только от i/o где тип очень даже привязан и статичен.

И это все можно проверить без рантайма.

Max
21.07.2019
22:53:24


Julian =)
21.07.2019
22:53:30
Даже если иногда придется пройтись по ифам.

Andrey
21.07.2019
22:53:48
И это все можно проверить без рантайма.
Как? Откуда знать заранее бд вернула целое или строку?

Где эта декларация.

koder
21.07.2019
22:54:01
Данные не приходят магически ниоткуда. Они приходят только от i/o где тип очень даже привязан и статичен.
нууу почти :) привет питон, если хочешь выстрелить себе в голову - то всегда привет. Но так то ты прав. При адекватном коде 99% всего отлично статически типизируется

Google
?? Eugene
21.07.2019
22:54:03
Есть алиасы для типов

Julian =)
21.07.2019
22:54:19
Как? Откуда знать заранее бд вернула целое или строку?
Бд всегда вернет строку, либо целое. Потому что в пайтоне СТРОГАЯ типизация.

Max
21.07.2019
22:54:22
это больше мусор

Julian =)
21.07.2019
22:54:42
один хрен
Вообще-то ты скинул говнокод, и хочешь этим что-то аргументировать.

Andrey
21.07.2019
22:54:49
koder
21.07.2019
22:55:10
это трешовые типы. Начнем с того, что вместо этих тюплов должны были бы быть структуры. Но да, бывает. Местами можно скипануть типы

fn main() {}
21.07.2019
22:55:10
Andrey
21.07.2019
22:55:34
Julian =)
21.07.2019
22:56:00
это больше мусор
Если что, from typing import Typle И мусор магически исчезает.

fn main() {}
21.07.2019
22:56:00
В нормально написанном коде такая хуйня не встречается

Max
21.07.2019
22:57:10
В нормально написанном коде такая хуйня не встречается
+1 он там магическим образом не появится, если протекающий говнокод это не позволяет

Julian =)
21.07.2019
22:59:14
Я потерялся кто о чем спорит

Andrey
21.07.2019
22:59:40
ты точно странный, думаю говорить смысла не имеет
Ваше право. Просто аргументации нет никакой, кроме как пайшарм что-то там магически вывел. Рантайм чеков в cpython нет. И не будут вероятно никогда. Поэтому аннотации не помогут избежать ошибок с помощью какой-то магии.

Julian =)
21.07.2019
22:59:55
Короче, типы детерминированы. И их всегда можно проверить в компайл тайме тупо распарсив синтаксическое древо.

fn main() {}
21.07.2019
22:59:58
Julian =)
21.07.2019
23:00:22
а не проще: some: tuple?)
Так тоже можно, но иногда нужно указать элементы tuple

Их тип вернее

koder
21.07.2019
23:04:56
Ваше право. Просто аргументации нет никакой, кроме как пайшарм что-то там магически вывел. Рантайм чеков в cpython нет. И не будут вероятно никогда. Поэтому аннотации не помогут избежать ошибок с помощью какой-то магии.
прочтите документацию, прежде чем такой бред писать. И что такое типизация и как она работает (не обязательно в питоне). Это и будет аргументация

Max
21.07.2019
23:06:20
если вы пытаетесь прикрутить типизацию к питону, лучше свалить в другой язык. Rust или Go, например

Google
?? Eugene
21.07.2019
23:07:34
koder
21.07.2019
23:08:17
если вы пытаетесь прикрутить типизацию к питону, лучше свалить в другой язык. Rust или Go, например
Не лучше. Уже давно прикрутили, радостно пользуются. Код стал куда лучше, стандартная либа и кучу либ вокруг нее тилизированны. AttributeError я в своем коде уже примерно год не видел

?? Eugene
21.07.2019
23:08:25
Это прямо фишечка всех новых библиотек - полное покрытие тайп хинтами

koder
21.07.2019
23:08:59
И TypeError туда же (почти не видел)

Это прямо фишечка всех новых библиотек - полное покрытие тайп хинтами
полное таки не всегда выходит, местами скипают или ставят typing:ignore, но да, все туда идет

Shieldy
21.07.2019
23:12:24
Добро пожаловать, @nercyu! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

Владимир
21.07.2019
23:12:34
Привет. Прошу помощи. Получаю имя файла из заголовка content-disposition, там кирилица, print выдает кракозябры. #!/usr/bin/env python3 import requests def get_filename_from_cd(cd): """ Имя файла из заголовка content-disposition """ fname = re.findall('filename=(.+)', cd) return fname[0] r = requests.get(url, allow_redirects=True) filename = get_filename_from_cd(r.headers.get('content-disposition')) print(filename)

Владимир
21.07.2019
23:13:48
Владимир
21.07.2019
23:15:10
Возможно у тебя консолька не поддерживает кирилицу
Да вот в том то и дело, проверял при помощи curl -Iv -L url

koder
21.07.2019
23:15:56
Да вот в том то и дело, проверял при помощи curl -Iv -L url
какой тип возвращает r.headers.get('content-disposition') - bytes или str?

Владимир
21.07.2019
23:16:09
В ответе кирилические символы отображаются нормально в консольке

koder
21.07.2019
23:16:30
если bytes - см коммент выше, наверное приходит в другой кодировке, нужно брать кодировку из заголовков и руками декодить

Владимир
21.07.2019
23:21:54
Так, значит мне надо кодировать в utf-8, а затем в windows-cp1251, типа того?

koder
21.07.2019
23:23:13
Так, значит мне надо кодировать в utf-8, а затем в windows-cp1251, типа того?
достаточно декодировать в юникод один раз и его печатать - в кодировку консоли питон сам переведет

хотя я с виндой не работаю, но, вроде, должно быть так

Google
koder
21.07.2019
23:23:39
в линухе так

Владимир
21.07.2019
23:25:50
пишу .encode('utf-8'), оно выводит \xc3\x90 и т.д. использую линукс

Julian =)
21.07.2019
23:26:20
может наоборот decode

Владимир
21.07.2019
23:26:36
Выходит, что в заголовке что-то кроме utf-8?

koder
21.07.2019
23:26:53
может наоборот decode
+1, не нужно encode - это ты перевел unicode в utf-8

Выходит, что в заголовке что-то кроме utf-8?
какой тип возвращает r.headers.get('content-disposition')?

J0HHT4
21.07.2019
23:29:36
кто может сделать из ру ехе?

прост шиндовс ошибками замучал

fn main() {}
21.07.2019
23:29:50
J0HHT4
21.07.2019
23:30:01
шоб запустить и затестить

https://pastebin.com/0Ek0NWtK

вот это

fn main() {}
21.07.2019
23:30:45
А в exe то зачем?

J0HHT4
21.07.2019
23:30:58
чтоб запустить на винде

без установки питона

fn main() {}
21.07.2019
23:31:57
J0HHT4
21.07.2019
23:32:24
0xc000007b

Julian =)
21.07.2019
23:32:30
сильно

Узнаю винду

J0HHT4
21.07.2019
23:32:41
7

Google
J0HHT4
21.07.2019
23:32:50
директ сносил и ставил

Julian =)
21.07.2019
23:32:56
Шел 2020 год, на Винде все еще не запилил нормальные ошибки

J0HHT4
21.07.2019
23:32:58
обновы не канают

Sega
21.07.2019
23:33:26
Блин, вопрос, с чего начать учить?

fn main() {}
21.07.2019
23:33:28
Шел 2020 год, на Винде все еще не запилил нормальные ошибки
Шел 2020 год, кто-то еще пользуется шиндой

J0HHT4
21.07.2019
23:33:36
ну,кто нибудь поможет

?

fn main() {}
21.07.2019
23:33:43
Блин, вопрос, с чего начать учить?
С туториала на питон.орг

fn main() {}
21.07.2019
23:33:49
J0HHT4
21.07.2019
23:34:03
надо переделать ру в ехе

и все

fn main() {}
21.07.2019
23:34:18
Загугли как и сделай

J0HHT4
21.07.2019
23:34:20
я гугл уже заебал с ошибками

там через pyinstaller

и подобное

для запуска нужен питон

fn main() {}
21.07.2019
23:34:48
я слышал что то о py2exe

Страница 9663 из 9768