Форум сайта python.su
> … далеко можно зайти так. да?
Давай почитаем феншуй дзен. Ведь там такое написано… Да?
Явное лучше, чем неявное.Никто не ожидает присваивание посреди выражения и если оно всё таки происходит, то место в котором произошло присваивание просто теряется. По этому использование оператора := запутывает код и ухудшает его читаемость. Поверь если ты напишешь лишнюю строчку с нормальным присваиванием, то руки у тебя не отвалятся, а разобраться в коде будет намного проще. Но похоже что ты о таких “мелочах” даже не задумываешься…
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
…
Читаемость имеет значение.
Отредактировано Rodegast (Сен. 10, 2022 16:04:08)
Офлайн
ну это в стандарте
уже
да?
тогда о чем речь?
чего кто то не ждет?
хотя … а не хочу я с вами эээ ругаться (не это слишком сильно) препираться
давайте сойдемся на том что можно …
но можно и учитывать читаемость для привыкших к более консервативному написанию кода ок )
Офлайн
> ну это в стандарте
И что? После того как Гвидо доканали в стандарт льётся всякое разное как из рога изобилия… Но это не значит что всем этим нужно бездумно пользоваться.
Офлайн
Rodegastда, я уже понял что это не по феншую, стал запускать код на ноуте и заругался на эту строчку
Никогда не используй оператор := Это не по феншую.
py.user.nextкак раз подумал, что не стану обновлять питон из-за этой строчки, просто что-то лень.
Ты думаешь, все бросятся обновлять эту сеть?
Офлайн
RodegastНе, он работает везде. Просто он появился в версии 3.8, а у меня версия меньше.
> У меня он вообще не срабатывает.
Он только внутри выражений работает.
>>> if x := 1: ... print(x) ... 1 >>> if x := 0: ... print(x) ... >>>
Отредактировано py.user.next (Сен. 11, 2022 01:15:49)
Офлайн
> Не, он работает везде. Просто он появился в версии 3.8, а у меня версия меньше.
Python 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110] on linux Type "help", "copyright", "credits" or "license" for more information. >>> a := 5 File "<stdin>", line 1 a := 5 ^ SyntaxError: invalid syntax >>> s = (a := 5) >>>
Офлайн
py.user.nextя свой код на линуксе запускаю, срабатывает без проблем
Твой-то я запускал, ничего не выводит у меня, потому что нет там в ответе классов этих.
авто
https://www.avito.ru/krasnodar/predlozheniya_uslug/arenda_avto_bez_zaloga_724834988
https://www.avito.ru/pyatigorskiy/knigi_i_zhurnaly/avtomobili_uchet_armeniya_2521072265
https://www.avito.ru/sankt-peterburg/predlozheniya_uslug/arenda_avto_avto_v_prokat_1276365417
https://www.avito.ru/moskva/predlozheniya_uslug/arenda_avtomobili_pod_taksi._bez_zaloga_2262204672
https://www.avito.ru/sankt-peterburg/predlozheniya_uslug/vykup_avto_srochnyy_vykup_avtomobiley_2174777139...
Офлайн
используй прокси их как *.* чего
только они в основном они не https
ps и еще curl to python
Отредактировано AD0DE412 (Сен. 11, 2022 19:44:50)
Офлайн
xam1816
я свой код на линуксе запускаю, срабатывает без проблем
xam1816Это твой код с print'ом
а с ноута на винде, этот код дает страницу, что ваш ip подозрительный и остальное бла, бла, бла
>>> from bs4 import BeautifulSoup >>> import requests >>> >>> def f(): ... product = input() ... url = "https://www.avito.ru/rossiya?q=" + product ... request = requests.get(url) ... print(request.text) ... bs = BeautifulSoup(request.text, "html.parser") ... all_links = bs.find_all('div', class_='iva-item-titleStep-pdebR') ... for link in all_links: ... a = link.find('a', href=True) ... if a: ... print('https://www.avito.ru' + a['href']) ... >>> f() авто <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="HandheldFriendly" content="True"> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"> <title>Доступ ограничен: проблема с IP</title> <style> ...
Отредактировано py.user.next (Сен. 12, 2022 01:02:18)
Офлайн