Ответ

Следующие ошибки возникли при попытке отправки сообщения:
Внимание! Пока вы просматривали тему, появилось несколько новых ответов (59). Возможно, вы захотите изменить свое сообщение.
Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.
Вложения и другие параметры
Вложения:
Перетащите файлы сюда или используйте кнопку для добавления файлов
Доступные типы файлов: doc, gif, jpg, mpg, pdf, png, txt, zip
Ограничения: максимум вложений в сообщении — 4 (4 осталось), максимальный размер всех файлов — 2 МБ, максимальный размер одного файла — 1 МБ
Обратите внимание: вложения не будут видны, пока модератор не одобрит их.
ALT+S — отправить
ALT+P — предварительный просмотр

Сообщения в этой теме

Автор Vesle Anne
 - 02 августа 2024, 11:57
Ну значит flask был или ещё что-то такое. @Utgarda Loki фреймворки и библиотеки - вот сила питона.  Их есть на любой вкус и любую вашу потребность. Тем более, что на питоне хорошо работает то, что написано не на питоне :) (цитата моего препода).
Я вот этот Django знать не знаю и, если честно, рассчитываю и дальше не знать. При том что питон юзаю каждый день.
Автор Utgarda Loki
 - 02 августа 2024, 11:44
Цитата: Vesle Anne от 01 августа 2024, 23:54Щас это вроде в основном Django. Я его не знать,  мне он не нужен
Посмотрел. Да, эта штука облегчила бы создание сайта, без вопросов (кстати, половина сайтов, перечисленная в статье по ссылке у меня в предыдущем сообщении, в Википедии в статье о Django тоже перечислена, так что видимо, "сайт написан на Питоне" — понятие растяжимое). Но. Первая бета-версия этого Django вышла в конце 2005 года, а первая стабильная версия (1.0) — в конце 2008 года. Не хочу сейчас ломать голову, когда точно я помогал с сайтом, но есть нехилый шанс, что на тот момент этот фреймворк или вообще не существовал, или был в стадии бета-тестирования (и у меня было мало шансов узнать о нём, а если бы и узнал, вряд ли бы захотел использовать: программирование и без того достаточно хлопотное занятие, чтобы ещё испытывать на себе баги новой программы, у которой нет ни одной стабильной версии). Возможно, в те времна были какие-то другие подобные, которые можно было прикрутить, но, как я уже сказал, до этого дело не дошло.
Автор Vesle Anne
 - 01 августа 2024, 23:54
Щас это вроде в основном Django. Я его не знать,  мне он не нужен
Автор Utgarda Loki
 - 01 августа 2024, 23:43
Цитата: Vesle Anne от 01 августа 2024, 14:21
Цитата: Utgarda Loki от 01 августа 2024, 14:11В смысле?
в смысле зачем для этого вообще рассматривать чистый питон?
Ну, может не чистый, а с чем-то привинченным. Я до этой стадии не добрался. :-[
Вот, когда пишут, что "сайт на Питоне", что имеют в виду?
Автор _Swetlana
 - 01 августа 2024, 14:45
Быть питонистом некрасиво, не это подымает ввысь.
На некоторое время прощаюсь, надеюсь, вернусь уже полупитонистом-полусишником  :)
Автор Vesle Anne
 - 01 августа 2024, 14:21
Цитата: Utgarda Loki от 01 августа 2024, 14:11В смысле?
в смысле зачем для этого вообще рассматривать чистый питон?
Автор Utgarda Loki
 - 01 августа 2024, 14:11
Цитата: Vesle Anne от 01 августа 2024, 10:32
Цитата: Utgarda Loki от 01 августа 2024, 09:34У меня, когда встал вопрос, на чём делать бэкенд (начинку) сайта, с которым меня во времена оны просили помочь: на Питоне, или на PHP
мне удивительно, что такой вопрос вообще возник
В смысле? Я сам его себе поставил. Поскольку дело было для меня абсолютно новым, я проконсультировался с кем-то из программистов из ИТ-отдела, в котором я работал инженером: "на чём сейчас (это было давно... не меньше 15-20 лет назад) сайты пишут?". (Программист сайтами не занимался, но, хотя бы, следил больше меня за такими вещами). Вот он мне и предложил Python и PHP.
Автор Toman
 - 01 августа 2024, 13:54
Цитата: _Swetlana от 01 августа 2024, 13:14А что, там есть встроенные минимум и максимум?
Нет, встроенных (на уровне синтаксиса языка) нет. Но есть встроенные операции сравнения. И операция условного выбора. Из которых всегда можно на коленке собрать конструкцию, которая выдаст минимум или максимум из двух значений, либо присвоит его какой-то переменной, как я там выше изобразил. Или, при желании, можно самостоятельно из них написать функцию в одну строчку для минимума или максимума конкретного типа, можно и inline, чтобы это не было реальным фактическим вызовом функции (хотя приличные оптимизирующие компиляторы с большой вероятностью и без слова inline сообразят и вкомпилируют такое как inline).

Если пишем именно на плюсах, то воспользоваться шаблоном, как у вас в изначальном примере, думаю, тоже совершенно ок, и, наверное, так же эффективно в смысле получающегося машинного кода - но просто в этом случае нужно явно привести тип, т.к. компилятор либо не может/принципиально отказывается гадать, чего мы хотели, либо, если он таки умеет и станет гадать, не факт, что угадает, и можно получить трудноуловимые ошибки уже в рантайме.
Автор Vesle Anne
 - 01 августа 2024, 13:36
Цитата: Toman от 01 августа 2024, 13:11Вот и у меня подобная история. Несколько раз пытался начать учить Питон - чисто из тех соображений, что это нынче модно, его все учат, его все знают, значит, надо бы тоже выучить.
Потому что ты его неправильно учишь :)
Автор Vesle Anne
 - 01 августа 2024, 13:34
Цитата: _Swetlana от 01 августа 2024, 12:46
Цитата: Vesle Anne от 01 августа 2024, 10:34
Цитата: _Swetlana от 01 августа 2024, 10:22С ужасом думаю, что мне придётся иметь с этим дело в языке CPython, на который я решила перейти, как только закончу с питоном.
Это же не язык
https://ru.m.wikipedia.org/wiki/CPython
Не то написала.

Cython — язык программирования, упрощающий написание модулей С/C++ кода для Python.
О, не знала о таком! Спасибо за расширение кругозора!
Автор _Swetlana
 - 01 августа 2024, 13:21
Цитата: Toman от 01 августа 2024, 13:11
Цитата: Utgarda Loki от 01 августа 2024, 09:34Учебник Питона закрыл страниц через 50, поскольку там всё для меня было... alien. В PHP Си-подобный синтаксис, и я решил, чем заводить в голове отдельную папку с совершенно непохожим синтаксисом накладнее, чем запомнить несколько отличий между Си и PHP. Больше к Питону не возвращался.
Вот и у меня подобная история. Несколько раз пытался начать учить Питон - чисто из тех соображений, что это нынче модно, его все учат, его все знают, значит, надо бы тоже выучить. Но нет, добровольно сам себя заставить не могу. Синтаксис настолько вот непохожий, что... Уровень непохожести больше, чем у того же Паскаля, с которым у меня в универе на первом (?) курсе никаких проблем подобного рода не было.
Мне тоже было очень тяжело, потому что простая логика передачи в функцию параметров по ссылке и по значению в питоне отсутствует в принципе. Главное отличие. И появляются замыкания, декораторы, области видимости, которые сохраняют значения локальных переменных после выхода из локальной функции. И из-за этого в питоне невозможно оптимизировать хвостовую рекурсию даже руками.
Автор _Swetlana
 - 01 августа 2024, 13:14
Цитата: Toman от 01 августа 2024, 12:58Функцию min вы опять же сами написали вместо того, чтоб использовать конструкцию из встроенных операций.
Я погуглила, не обнаружила встроенных минимума и максимума, подумала, что нужно использовать модуль алгоритм.
А что, там есть встроенные минимум и максимум?
Автор Toman
 - 01 августа 2024, 13:11
Цитата: Utgarda Loki от 01 августа 2024, 09:34Учебник Питона закрыл страниц через 50, поскольку там всё для меня было... alien. В PHP Си-подобный синтаксис, и я решил, чем заводить в голове отдельную папку с совершенно непохожим синтаксисом накладнее, чем запомнить несколько отличий между Си и PHP. Больше к Питону не возвращался.
Вот и у меня подобная история. Несколько раз пытался начать учить Питон - чисто из тех соображений, что это нынче модно, его все учат, его все знают, значит, надо бы тоже выучить. Но нет, добровольно сам себя заставить не могу. Синтаксис настолько вот непохожий, что... Уровень непохожести больше, чем у того же Паскаля, с которым у меня в универе на первом (?) курсе никаких проблем подобного рода не было.
Автор _Swetlana
 - 01 августа 2024, 13:11
Цитата: Toman от 01 августа 2024, 12:58
Цитата: _Swetlana от 01 августа 2024, 10:22То есть в функции min были одни операции сравнения, а в цикле for - другие. Слов просто нет.
В смысле? В цикле for то, что там написано. Откуда я знаю, что там у вас было написано.
Ну что обычно пишут в цикле for: объявляется переменная целого типа, которая сравнивается с каким-то конечным значением в условии выполнения цикла:
for (int i=0; i < dq.size(); i++)
Автор Toman
 - 01 августа 2024, 12:58
Цитата: _Swetlana от 01 августа 2024, 10:22То есть в функции min были одни операции сравнения, а в цикле for - другие. Слов просто нет.
В смысле? В цикле for то, что там написано. Откуда я знаю, что там у вас было написано. Просто предполагаю, что там могло быть что-то из операций <, >, <=, >=, как часто делают. Но вообще там мог быть и вызов какой-нибудь функции.
Функцию min вы опять же сами написали вместо того, чтоб использовать конструкцию из встроенных операций. Но это, в данном случае, не просто функция. Это применение шаблона функции. Который рассчитан на возможность работы с любыми объектами, которые можно сравнивать - но ничего не знает о возможности приведения их типов, о том, в каком направлении программист хочет делать это приведение. И который определяет тип выходного значения функции по типу входных - что, как я уже говорил выше, означает, что они, наверное, должны быть строго одинаковыми. (Я тут говорю "наверное" - потому что с собственно всеми этими продвинутыми/наиболее замороченными фишками плюсов, типа шаблонов и иже с ними, мало знаком, чтоб уверенно говорить, что и как там может/не может работать - только предполагаю из общих соображений).

Собственно, вот это та самая причина, почему я рекомендую всем сначала осваивать Си (или Си-подобное чисто процедурное классическое подмножество средств C++), и только потом переходить к чисто плюсовым вещам, опять же в определённом логическом/историческом порядке - вначале классы, потом уже шаблоны.
Автор _Swetlana
 - 01 августа 2024, 12:46
Цитата: Vesle Anne от 01 августа 2024, 10:34
Цитата: _Swetlana от 01 августа 2024, 10:22С ужасом думаю, что мне придётся иметь с этим дело в языке CPython, на который я решила перейти, как только закончу с питоном.
Это же не язык
https://ru.m.wikipedia.org/wiki/CPython
Не то написала.

Cython — язык программирования, упрощающий написание модулей С/C++ кода для Python. Кроме стандартного синтаксиса Python, поддерживаются:
прямой вызов функций и методов C/C++ из кода на Cython;
строгая типизация переменных, классов, атрибутов классов.

Появился в 28 июля 2007
Автор
Robert Bradshaw, Stefan Behnel и др.
Выпуск
3.0.10 (30 марта 2024)[1]
Тестовая версия
3.0.0 alpha 11
Испытал влияние Pyrex

Сайт cython.org

Код Cython преобразуется в C/C++ код для последующей компиляции и впоследствии может использоваться как расширение стандартного Python или как независимое приложение со встроенной библиотекой выполнения Cython.
Автор Vesle Anne
 - 01 августа 2024, 10:34
Цитата: _Swetlana от 01 августа 2024, 10:22С ужасом думаю, что мне придётся иметь с этим дело в языке CPython, на который я решила перейти, как только закончу с питоном.
Это же не язык
https://ru.m.wikipedia.org/wiki/CPython
Автор Vesle Anne
 - 01 августа 2024, 10:32
Цитата: Utgarda Loki от 01 августа 2024, 09:34У меня, когда встал вопрос, на чём делать бэкенд (начинку) сайта, с которым меня во времена оны просили помочь: на Питоне, или на PHP
мне удивительно, что такой вопрос вообще возник
П.С. PHP как раз пыталась учить, в отличие от си, не зашло. Слишком замороченно. Сейчас пока смотрю на R, потом, если будет время, модет и до сей дойду. Наверное, все таки до плюсов
Автор _Swetlana
 - 01 августа 2024, 10:22
Цитата: Toman от 01 августа 2024, 03:49
Цитата: _Swetlana от 01 августа 2024, 02:54я думала, что там происходит автоматическое преобразование типа, раз такое сравнение проходило
Так оно и происходит, это преобразование. Но там же ж, наверное, были встроенные арифметические операции сравнения? А тут вы захотели использовать шаблон из плюсовской библиотеки, которому, видимо, нужно, чтобы аргументы уже были одного типа (как минимум потому, что если они будут разного типа, хоть и приводимого друг к другу, встанет вопрос, а какой тип, собственно, возвращать - ну это не считая того, что если типы разные, то при разном направлении приведения и результат может получиться разный не только по типу, но и по фактическому содержанию).
То есть в функции min были одни операции сравнения, а в цикле for - другие. Слов просто нет. С ужасом думаю, что мне придётся иметь с этим дело в языке CPython, на который я решила перейти, как только закончу с питоном.
Автор Utgarda Loki
 - 01 августа 2024, 09:34
Цитата: From_Odessa от 31 июля 2024, 23:26Для меня синтаксис С++ явно проще и доступнее, чем у питона. Потому что С++ я изучал, а питон - нет, и в глаза его не видел  :green:
У меня, когда встал вопрос, на чём делать бэкенд (начинку) сайта, с которым меня во времена оны просили помочь: на Питоне, или на PHP, я скачал и открыл два учебника... Учебник Питона закрыл страниц через 50, поскольку там всё для меня было... alien. В PHP Си-подобный синтаксис, и я решил, чем заводить в голове отдельную папку с совершенно непохожим синтаксисом накладнее, чем запомнить несколько отличий между Си и PHP. Больше к Питону не возвращался.