Подтвердить что ты не робот

Что люди, знакомые с Python, знают о своем сообществе и экосистеме?

Я объединяя какое-то введение в Python, но тот, который фокусируется на сообществе и экосистеме вокруг Python, а не только на языке. С тем, как думать, как компьютерный ученый и другие отличные учебники, легко познакомиться с языком, но мне потребовалось честно провести время, прежде чем я узнал, что такое Cheese Shop, или, err, PyPi, о том, как работают pip и virtualenv и почему вы должны использовать их, где вам следует обратиться за помощью, интересным блогам, за которыми вам следует следовать, как должен выглядеть ваш код (PEP 8, пишущий пифонический код) и так далее. "Мягкие вещи".

Что вас больше всего смутило, когда вы только начали с Python? Есть ли определенные вещи, о которых вы хотели бы узнать, или ресурсы, которые вы хотели бы наткнуться раньше, чем вы это сделали? Люди, о которых нужно знать?

Я нашел несколько похожих вопросов в StackOverflow (например, here), но ничего действительно близко к тому, что я хотел бы услышать от вас, ребята. Надеюсь, этот вопрос не слишком субъективен вашим вкусам: -)

(И, если вы хотите помочь, не стесняйтесь отправлять сообщение.)

4b9b3361

Ответ 1

"Что вас больше всего смутило, когда вы только начали с Python?"

Правило 2 обучения Python: Любой модуль или структура общего назначения, которые, как вы думаете, вы хотите, уже написаны. Несколько раз.

Жесткая часть понимает, что ваша идея

  • Не уникально.

  • Уже улучшилось, прежде чем вы даже начали думать об этом.

  • Уже размещен где-то.

Итак, код меньше и больше искать. Поиск широко и гибко, пока вы не найдете то, что вам нравится.

  • Поймите, что у вас может быть имя, которое вы считаете описательным. Но другие люди могут назвать это чем-то другим. Присоединяйтесь к сообществу, примите их имена. Вам может не понравиться фраза "ORM", но это то, что она называла.

  • Поймите, что ваша идея, как бы она ни звучала, может быть очень плохой. Когда вы найдете фреймворк, который, как представляется, имеет "ненужные дополнительные функции", вы можете что-то упустить из своей идеи.

  • Поймите, что ваша идея, каким бы "интуитивным" она ни казалась, может быть действительно бедна. Когда вы найдете фреймворк, который кажется "контр-интуитивным", проблема может быть вашей. Сначала изучите их, затем сравните и сравните их после того, как овладели ими. Пока вы не овладеете ими, продолжайте искать и учиться.

Ответ 2

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

  • Не останавливайтесь на tkinter: go wx, gtk или qt.
  • Не создавайте веб-код руками: используйте TurboGears, Pylons, Web.py или Django.
  • Не разбирайте HTML/XML с помощью жестких инструментов: используйте lxml или beautifulsoup.
  • Не используйте syscall для imagemagik: используйте PIL.
  • Не выполняйте предварительную математику вручную: используйте NumPy и SciPy.
  • Не обращайтесь к простым базам данных вручную: используйте ORM, например SQLAlchemy.
  • Не изобретайте диски sysadmin: используйте Fabric.
  • и др.

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

Ответ 3

Несколько точек, связанных с экосистемой и косвенно сообществом:

  • Мне жаль, что мне больше не напоминали Batteries included. Я думаю, что людям следует сообщить распечатать Оглавление стандартной библиотеки и сохранить их под их подушку, для частых обзоров (этот совет, я, наконец, взял, несколько лет в него, из онлайн-презентации для начинающих/начинающих!). [Относительная] стабильность, обширное, но релевантное содержание Std Lib говорит о продуманном управлении лидерами сообщества и его любимым BDFL.

  • Я думаю, что новичков можно также "предупредить" (слово, может быть, слишком сильное, слишком несправедливое) об экстремальном разнообразии зычный. Это отражает динамичный, умный и разнообразный (с точки зрения фона, области применения, интересов...) коллектив пользователей и участников. Это, однако, может быть подавляющим и, возможно, рискованным, поскольку все пакеты там не "прайм-тайм готово" (но многие из них и "спасли мою жизнь" много раз).

  • Даже если вы слишком новичок в Python, не только используйте библиотеки, загляните под капот! Это относится ко многим языкам, но, возможно, особенно к Python, многое можно узнать из изучения различного исходного кода. Причины, которые могут быть особенно справедливыми для Python, присущи самому языку (мультипарадигмы, высокий уровень абстракции...), но также и из-за относительной однородности стиля кодирования (и архитектуры) и из-за общего уровня совместной работы внутри сообщества.

Ответ 4

"Что вас больше всего смутило, когда вы только начали с Python?"

Правило 1 обучения Python: Использовать источник, Люк.

Есть вопрос о том, что SO просит "хороший" источник, из которого можно изучить Python. Лучшие ответы - "читать библиотеки, которые поставляются с Python".

Можно сказать, что библиотеки, которые поставляются с Python, являются изворотливыми. В местах. Это делает их лучше для обучения.

  • Там есть сообщество единомышленников, которые не являются клонами.

  • Программное обеспечение с открытым исходным кодом - это программное обеспечение самого высокого качества, с которым вы когда-либо сможете работать, но оно не создано платными разработчиками, которые будут жестко применять стандарты.

Ответ 5

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

(мне жаль, что раньше я не читал PEP, но я не знал об этом, хотя они часто связаны в руководстве)

Ответ 6

Из PEP 20:

import this

(aka, Zen of Python)

Ответ 7

разработка пакета python, который может быть установлен с помощью easy_install и т.д. Я считаю, что это эквивалентно разработке jar или dll и т.д.

на одном и том же марке, создавая пакет с помощью virtualenv или buildout

Если бы я раньше знал эти вещи, я бы, вероятно, использовал python больше, чем просто писать сценарии, когда я впервые начал использовать его.