Изучение Python для [закрытого] разработчика.NET

Swift 3.0 с отказоустойчивой опцией (возвращает исходное изображение в случае ошибки):

func resize(image: UIImage, toSize size: CGSize) -> UIImage{
    UIGraphicsBeginImageContextWithOptions(size,false,1.0)
    image.draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height))
    if let resizedImage = UIGraphicsGetImageFromCurrentImageContext() {
        UIGraphicsEndImageContext()
        return resizedImage
    }
    UIGraphicsEndImageContext()
    return image
}
21
задан Nosredna 2 July 2009 в 15:25
поделиться

8 ответов

IronPython в действии

Фурда и Мюрхеда - удивительно хорошая книга, идеально подходящая для обучения Python для .NET, а также для обучения .NET для Python. Я могу быть предвзятым, поскольку я был техническим рецензентом, а Форд - друг, но у меня были и другие случаи в прошлом, когда друг написал книгу, а я технический рецензировал ее - и в итоге решил, что книга просто неправильная и публично заявлять об этом (способ потерять друзей, но я просто не могу солгать, по крайней мере, в том, что касается Python! -)

Изменить : Если вам запрещено переходить на IronPython (что приведет к вероятно, прекрасно поддерживает ваши устаревшие приложения, кстати), есть ответы получше: Dive into Python Марка Пилигрима часто считается лучшим вступлением к Python для опытного разработчика, и мой собственный Python в двух словах получил высокую оценку как самый быстрый способ на борту для разработчиков-суперзвезд. Я , конечно, предвзято отношусь к ним - Марк - коллега, а моя жена была ключевым техническим редактором его книги (и моей собственной), и, очевидно, я склоняюсь к моя собственная книга тоже ;-). Но с другой стороны, я действительно склонен предвзято относиться ко многим лучшим книгам по Python, так как я либо приложил руку к их редактированию, либо дружу с их авторами, либо и тем, и другим; -).

21
ответ дан 29 November 2019 в 20:21
поделиться

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

Далее следует прицел по условию, но это довольно легко . И важность пустых пространств дала мне несколько неприятностей.

Однако, как только вы научитесь краткости и скорости разработки языка, вы научитесь ценить его намного больше. Через некоторое время я подумал, что это лучшее, что со мной когда-либо случалось !! : -)

вот несколько вещей, которые мне очень помогли:

Сначала я начал с этой книги и получил основы языка, и для повседневного использования мне очень помогла Краткая справочная карта Python . Также консоль станет вашим лучшим союзником, чтобы опробовать быстрые вещи и закрепить ваши знания.

Для IDE, пришедших из мира eclipse PyDev был естественным выбором для меня, но было гораздо больше выбора. Но если вы более знакомы со средой Visual Studio, то Python Tools для Visual Studio тоже чертовски хороши.

Удачи, надеюсь, вам понравится Python, как и мне.

Также консоль станет вашим лучшим союзником, чтобы опробовать быстрые вещи и закрепить ваши знания.

Для IDE, пришедших из мира eclipse PyDev был естественным выбором для меня, но было гораздо больше выбора. Но если вы более знакомы со средой Visual Studio, то Python Tools для Visual Studio тоже чертовски хороши.

Удачи, надеюсь, вам понравится Python, как и мне.

Также консоль станет вашим лучшим союзником, чтобы опробовать быстрые вещи и закрепить ваши знания.

Для IDE, пришедших из мира eclipse PyDev был естественным выбором для меня, но было гораздо больше выбора. Но если вы более знакомы со средой Visual Studio, то Python Tools для Visual Studio тоже чертовски хороши.

Удачи, надеюсь, вам понравится Python, как и мне.

8
ответ дан 29 November 2019 в 20:21
поделиться

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

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

И хотя вы не можете использовать IronPython для этого, нет причин, по которым вы не можете использовать его для изучения Python.

4
ответ дан 29 November 2019 в 20:21
поделиться

Вы испытаете немалый культурный шок, переходя от C # к дикой утиной глубинке Python. Отсутствие типов и intellisense может быть довольно пугающим. Хорошо, что у вас есть опыт работы с JavaScript. Также знайте, что правила блоков Python, чувствительные к отступу, могут сбивать с толку неопытных (обычно вы либо любите их, либо ненавидите: -)

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

3
ответ дан 29 November 2019 в 20:21
поделиться

Я бы порекомендовал просто прочитать об этом книгу. Книга для начинающих. Он будет содержать много вещей, которые вы уже знаете, но вы ничего не пропустите в отношении использования динамического языка. Я могу указать вам на Dive into Python , который кажется очень дружелюбным, или на The Python Tutorial , который кажется очень подходящим (вот как я узнал).

2
ответ дан 29 November 2019 в 20:21
поделиться

Книгу Pro IronPython тоже стоит прочитать, если у вас есть время.

2
ответ дан 29 November 2019 в 20:21
поделиться

Я бы рекомендовал использовать IronPython , чтобы помочь вам в обучении. Это реализация Python на платформе .NET. Таким образом, вы можете использовать / изучать Python с доступом к библиотеке классов .NET.

Хорошее место для начала - это загрузить IronPython и просмотреть IronPython in Action , который является очень хорошая книга, посвященная Python на платформе .NET.

РЕДАКТИРОВАТЬ: Поскольку IronPython не подходит, проигнорируйте этот ответ. Но спасибо.

2
ответ дан 29 November 2019 в 20:21
поделиться

Для опытного разработчика, изучающего Python, Dive Into Python - очень хорошая книга.

В книге Уэсли Чуна Core Python Programming используется более «фундаментальный» подход, который может быть немного медленным для опытного разработчика. Но это позволило очень легко сравнить базовый синтаксис и операторы с другими языками. Стиль письма Уэсли очень легко читать, а его примеры проектов достаточно нетривиальны, чтобы быть действительно интересными.

Поваренная книга Python - отличный справочник по обучению программированию «питоническим» способом. Эта книга содержит сотни (?) Примеров того, как решать обычные повседневные проблемы с помощью Python. В общем, «Поваренная книга» серия познакомит вас с идиомами языка быстрее, чем любая другая книга.

Всякий раз, когда мне нужно выучить новый язык программирования, я начинаю использовать его для всех возникающих задач «ежедневного обслуживания» - всех мелочей, которые я обычно решаю с помощью сценария оболочки или обычных инструментов unix - я начинаю использовать новый язык для решения этих проблем. Поскольку у вас есть опыт работы с .NET, IronPython, вероятно, является хорошим способом использовать эти знания при изучении Python. Даже если вы устанавливаете IronPython только в персональную песочницу ... и используете его для всех своих повседневных задач по написанию кода - это может быть отличным способом изучить синтаксис и идиомы Python.

возникающие задачи - все мелочи, которые я обычно решаю с помощью сценария оболочки или обычных инструментов unix - я начинаю использовать новый язык для решения этих проблем. Поскольку у вас есть опыт работы с .NET, IronPython, вероятно, является хорошим способом использовать эти знания при изучении Python. Даже если вы устанавливаете IronPython только в персональную песочницу ... и используете его для всех своих повседневных задач по написанию кода - это может быть отличным способом изучить синтаксис и идиомы Python.

возникающие задачи - все мелочи, которые я обычно решаю с помощью сценария оболочки или обычных инструментов unix - я начинаю использовать новый язык для решения этих проблем. Поскольку у вас есть опыт работы с .NET, IronPython, вероятно, является хорошим способом использовать эти знания при изучении Python. Даже если вы устанавливаете IronPython только в персональную песочницу ... и используете его для всех своих повседневных задач по написанию кода - это может быть отличным способом изучить синтаксис и идиомы Python.

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

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

3
ответ дан 29 November 2019 в 20:21
поделиться