Хороший сайд-проект для изучения питона? - PullRequest
2 голосов
/ 04 февраля 2011

Я студент 2 курса университета, и я подумал, что было бы неплохо расширить свои способности. Позже в этом году я буду использовать python для создания графического интерфейса для программы на C (с использованием Tkinter), но я хочу также создать побочный проект, и python кажется отличным языком для этого.

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

Я думал, что смогу сделать музыкальный плеер. Начните с создания программы командной строки, которая воспроизводит музыкальный файл, затем разверните его оттуда, возможно, используя pygtk для графического интерфейса.

Учитывая, что у меня нет опыта работы с Python, но у меня есть большой опыт в C и Java, будут ли какие-то трудности, которые неожиданно остановят меня? Я никогда не делал музыкальных заявлений раньше, и я не уверен, например, что значит хранить музыкальную библиотеку.

Существуют ли какие-либо другие проекты, которые вы могли бы порекомендовать, которые могут быть выполнены примерно за час в течение 3 месяцев? (Или получить из этого значительную рабочую программу, даже если она не завершена).

Спасибо!

Ответы [ 5 ]

10 голосов
/ 04 февраля 2011

Учитывая, что у меня нет опыта работы с Python, но у меня есть большой опыт в C и Java, будут ли какие-то трудности, которые неожиданно остановят меня?

Да.

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

Это остановит вас.

Хотите совет?

Шаг 1. Старайтесь не задавать вопросы да / нет.

Шаг 2. Начните с меньшего.[см. ниже]

Шаг 3. Начните с учебника по Python.

Шаг 4. Найдите связанные проекты, загрузите их код и прочитайте его.


Начиная меньше.

"около часа в сутки, на 3 месяца".90 часов

Выделите 40 часов, чтобы пройти достаточное количество уроков по Python для понимания языка.Обычно я бы предложил 80 часов для этого, но у вас ограниченный бюджет.

Выделите еще 40 часов, чтобы понять, как API воспроизведения звука работает на вашей платформе.Это может быть слишком много времени, но всегда есть странные загадки.Проблемы с API и драйверами ОС часто являются сложными проблемами.

Выделите еще 40 часов, чтобы сделать достаточно ошибок, чтобы получить приложение PyGTK, которое работает достаточно хорошо.Обычно я бы выделил на это как минимум 120 часов, так как дизайн GUI включает в себя множество новых концепций, не описанных в руководствах по языку.Опять же, у вас ограниченный бюджет.

Обучение SQL и проектированию баз данных и API ORM.Возможно 40 часов.Здесь вы можете сделать много ошибок, и вам нужно время, чтобы совершить эти ошибки.

Выделите еще 40 часов на создание некоторой «музыкальной библиотеки», построенной на существующих API файловой системы.Это включает в себя определение некоторых вариантов использования для добавления, изменения и удаления и выяснение того, как реализовать эти варианты использования.

Это мое обоснование для предположения о том, что вы, возможно, захотите "начать с меньшего".

2 голосов
/ 04 февраля 2011

У меня нет хороших идей для проекта, но один отличный способ начать знакомство с Python - это «The Python Challenge»: http://www.pythonchallenge.com/

Я попробовал это сам несколько лет назад. Это хороший способ привыкнуть к питоническому мышлению .

2 голосов
/ 04 февраля 2011

Написание программы поможет вам выучить язык, но ИМХО присоединение к команде разработчиков проекта с открытым исходным кодом на Python поможет вам узнать еще больше, поскольку чтение высококачественного кода, написанного другими разработчиками, раскроет вам особенностиязык, который вы никогда бы не открыли в одиночку.

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

0 голосов
/ 13 февраля 2012

Я был бы довольно оптимистичен, начиная этот проект (глядя на него из моего POV).Клиент командной строки будет хорошо работать с / после учебников о написании Python, аргументов, текста и т. Д. Я ожидаю использовать gstreamer или другую библиотеку очень высокого уровня, реальное воспроизведение может быть не слишком сложнымделать.

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

PyGtk (или gtk3 ) также является аккуратной единицей, которая сама по себе является опытом.Это может быть просто или оно может привести вас в тупик событий и потоков.:)

Если вы умеете программировать, я ожидаю, что вы сможете собрать довольно полезный кусок python за день и получить множество действительно полезных небольших инструментов, написанных за рабочую неделю.Но собрать все вещи в вашем вопросе не произойдет очень быстро.В любом случае, я думаю, что это хорошая идея / концепция, что вы можете начать создавать прототипы по частям и многому научиться, руководствуясь собственными интересами.

Использование Windows, конечно, усложнит ситуацию, но, вероятно, не сделает невозможной.

0 голосов
/ 04 февраля 2011

Взгляните на XBMC , само приложение массивное и написано на C / C ++, но вы можете писать дополнения с помощью Python. В их вики много информации о том, как начать.

КАК писать скрипты Python

КАК написать плагины для XBMC

XBMC - это медиацентр, поэтому, если вы увлекаетесь музыкой, у вас наверняка есть возможности.

...