Maxim
Не могу сказать, что я новичёк, так как какие-то штуки писал, и вообще имею уже большой опыт в других ЯП, но всё же
В общем, такой вопрос: Как я понял, в питоне очень сильно придерживаются snake_case, и лишь для классов используют PascalCase. В таком случае, если у меня есть файл, который, по идее, я должен называть в snake_case, как и любой другой файл, но в нём описан некоторый класс (если в питоне вообще принято что-то на подобии "1 файл на 1 класс"), то должен ли я его называть тем же именем, что и класс, перейдя уже на PascalCase?
Не принято на каждый класс делать по файлу.
Tigran
Да ну, на каждый класс по файлу норм, если дизайн классов нормальный.
Kirill
Prunkles
То есть мне следует рассуждать как "Сначала пишу весь код в одном файле, не волнуясь о названии файлов, а потом раскидываю фрагменты по файлам, которые называю кое-как, лишь бы смысл был хотя бы чуть-чуть понятен"?
Prunkles
Утрируя, конечно же
Maxim
Kirill
Обычно код раскидывают по каким то функциональным признакам, а не по классам. Например:
models
views
utils
resources
errors
forms
handlers
и т.д.
Maxim
Kirill
Часто вообще используется какой-то фреймворк, в котором уже есть какие-то свои, исторически сложившиеся, варианты того, что и в какой файл запихивается.
Kirill
Если ты не используешь фреймворк, в котором есть туториал и примеры проектов, из которых ты можешь подчерпуть какие-то идеи - то делай как хочешь, главное что бы имена файлов были в lowercase.
cookie🍪
вот тут неплохо про именование
https://www.python.org/dev/peps/pep-0008/#prescriptive-naming-conventions
Kirill
Ну и конечно же включай "здравый смысл". Структура исходников должна быть в достаточной степени понятной, что бы мало знакомый с ними человек, мог быстрее в них оринетироваться. Мог например быстро понять, что класс модели наверняка лежит в файле models.py, и не искал его в других файлах.
Алексей
Можно подробнее об принятой архитектуре проектов? А то я немного растерялся, когда, при создании нового проекта, я прост ополучил пустую папку (сравнительно с некоторыми другими ЯПами, это немного конфузит)
1) Ну сначала надо понять, что питон - это не джава, а значит классы совершенно не обязательны, особенно если все его методы статические или classmethod, есть модули и функции и если можно обойтись ими, значит нужно обойтись ими.
2) в каждом пакете должен быть __init__.py и не обязательно пустой
3) UpperCamelCase для классов, всё остальное в snake_case
Prunkles
То есть тут файлы - это просто "пакетики с кодом"? (как будто при любом другом языке это не так, но тут я делаю акцент на то, что в одном файле может содержаться много чего разного)
Алексей
Prunkles
Так файлы в lowercase или в snake_case?
Khasan
друзья подскажите пожалуйста что делает эта функция def _get_gmsh_exe():
macos_gmsh_location = "/Applications/Gmsh.app/Contents/MacOS/gmsh"
return macos_gmsh_location if os.path.isfile(macos_gmsh_location) else "gmsh"
melvin
melvin
если файл по первому пути есть вернет его
Alex
Alex
snake_case обычно, если ты о допустимости подчеркиваний в имени
Prunkles
Алексей
Khasan
а что случилось с чатом Питон-бегиннерс? Куда делся Зарт?
Denis
Там он
melvin
интересно
Steel
Ничесе
Steel
Кому, интересно, не лень найти было?
melvin
🌚
Steel
Tishka17
Не могу сказать, что я новичёк, так как какие-то штуки писал, и вообще имею уже большой опыт в других ЯП, но всё же
В общем, такой вопрос: Как я понял, в питоне очень сильно придерживаются snake_case, и лишь для классов используют PascalCase. В таком случае, если у меня есть файл, который, по идее, я должен называть в snake_case, как и любой другой файл, но в нём описан некоторый класс (если в питоне вообще принято что-то на подобии "1 файл на 1 класс"), то должен ли я его называть тем же именем, что и класс, перейдя уже на PascalCase?
Не стремятся к один файл-один класс. И даже если выходит, именуй правильно
🇺🇦
Привет всем. На каком сайте можно подучить питон? Не чайник в кодинге, в шарплю свободно. Просто чтоб не сидеть неделями на азах, таких сайтов вроде большинство
Алексей
Андрей
книги читай
🍁 Jaŭhien
Да не, на подобии codeacademy
https://m.youtube.com/playlist?list=PLlb7e2G7aSpQhNphPSpcO4daaRPeVstku
Ну и какой-нибудь онлайн-задачник вроде exercism или leetcode
🍁 Jaŭhien
Документацию уже посоветовали
Alex
🇺🇦
ну так codecademy
Да там просто вопросы для новичков в начале, а пропустить вроде никак
Ilya
а еще там 3 питон за деньги
за так только 2
🍁 Jaŭhien
;D
🍁 Jaŭhien
Второй питон уже бесплатно раздают. Скоро еще и доплачиаать за него начнут
Morfeus
Всем привет! Кто может разработать точно такого же бота: @knbgame_bot
По сути нужно его скопировать 1 в 1. Пишите в ЛС!
🍁 Jaŭhien
Morfeus
Vasyl
Привет ребята! Стоить ли учить python как первый язык программирования?
Ilya
Denis
тоит
Alex
Почему бы нет. Питон няшный.
Khasan
Khasan
Вон что я в выходные на Питоне ваял
Je
симпатично, а куда ты потом можешь импортировать свои скрипты, какие CAD это поддерживают?
Арсений
Денис
Haskell
"как сломать себе жизнь"
Арсений
А почему бы и нет, зато воспоминания на всю жизнь
Volodimir Kovalov
Если сильно хочется понимать "что там под капотом творится" - стоит начать с С, а если припекает сделать какую-нить поделку, чтоб оно работало - то да, питон будет очень ок.
Алексей
Volodimir Kovalov
И ещё не очень понятно, к каким местам потом прикладывать этот Хаскель.
Денис
Denis
Алексей
Алексей
у человека изначально вполне императивный способ мышления
Denis
Steel
Алексей
это у математиков может быть развивается что-то похожее на функциональное мышление
Denis
Для сравнения
https://beginnersbook.com/2015/02/quicksort-program-in-c/
http://wiki.c2.com/?QuickSortInHaskell
Denis
Кто-то считает, что на си понятнее?
Dmitry
ilya
на си как на родном понятно) Хаскель жопа какая то)
r
а разве квиксорт на хаскеле это не самый короткий в мире анекдот?
Denis
Я не про синтаксис языка, а про понятность того, что делает алгоритм
Алексей
опять же, не все алгоритмы хорошо ложатся на ФП, не все структуры данных имеют эффективную иммутабельную реализацию
Vladimir
Denis
Лучше скалу, ее еще и используют