22

私はここ数年、C# で活発な開発を行ってきました。私は主にエンタープライズ アプリケーションと社内フレームワークを .NET スタック上に構築しています。

.NET は私たちが使用する標準プラットフォームであるため、C# 以外の他の主流の高級言語を自分のタスクに使用する必要はありませんでした。

今後サポートするように依頼されたレガシー Python アプリケーションがいくつかありますが、Python や動的言語全般には触れていません (ただし、かなりの量の JavaScript を実行したことがあります)。

静的に型付けされた心のためにPythonのような言語を学習する方法を支援するためのガイダンス/アドバイスを得たいと思っていました.

編集: IronPython の使用はオプションではありません!

4

8 に答える 8

21

Foord と Muirhead のIronPython in Actionは驚くほど優れた本であり、Python の人々に .NET を教えるだけでなく、.NET の人々に Python を教えるのにも最適です。私は技術評論家であり、Foord は友人であるため、私は偏見を持っているかもしれませんが、過去に友人が本を書き、私が技術評論したというケースが他にもありました。公にそう言っている(友達を失う方法ですが、少なくともPythonが関係している場合ではなく、私は嘘をつくことはできません!-)

編集: IronPython への移行が禁止されている場合 (レガシー アプリはおそらく問題なくサポートされます)、より良い答えがあります: Mark Pilgrim のDive into Pythonは、多くの場合、経験豊富な開発者にとって最高の Python イントロと見なされます。Python in a Nutshellは、スーパースター開発者にとって最速のオンボード方法として賞賛されています。もちろん、私これらを支持する偏見があります -- マークは同僚であり、私の妻は彼の本 (そして私自身も) の主要な技術編集者でした。 )。しかし、私多くの最高の Python の本に偏見を持っている傾向があります。なぜなら、私はそれらの編集に携わったことがあるか、その著者と友人であるか、またはその両方であるからです;-)。

于 2009-07-02T04:48:55.803 に答える
8

Java から来た python を使用する際に直面した最も困難なことは、頭をダックタイピングに適切に巻き付けることでした.

次は慣例によるスコープですが、これはかなり簡単です。そして空白の重要性は私にいくつかの衝突を与えました.

ただし、言語の簡潔さと開発の速度に慣れると、言語の価値をより高く評価できるようになります。しばらくして、これまでで最高の出来事だと思いました!! :-)

ここに私を大いに助けたいくつかのことがあります:

最初にこのから始めて、言語の基礎を学びました。日常的に使用するために、Python クイック リファレンス カードは非常に役に立ちました。また、コンソールは、簡単なことを試して学習を固めるのに最適な味方になります。

IDE の場合、Eclipse の世界から来たPyDevは私にとって自然な選択でしたが、他にも多くの選択肢がありました。しかし、Visual Studio 環境に慣れている場合は、Python Tools for Visual Studioも非常に優れています。

幸運を祈ります。Python が私と同じくらい楽しいものであることを願っています。

于 2009-07-02T05:20:59.320 に答える
4

動的型付けに慣れるには、最初は大きなハードルがあります。最初のステップは、Python コードを見て、変数がどこにも定義されていないことに気付いたときです。変数を何もないところから作成しているだけで、崖を飛び越えているように感じます。ハンググライダーが適切に空気をキャッチするまで、少し時間がかかります。

そして、新しく見つけたダイナミックな翼を信頼できるようになるまでには時間がかかります。おそらく、それらを使ってエアロバティックを行うことによってのみ、それらを手に入れることができます. Python が参照を処理する方法を学び、モンキー パッチ メソッドを楽しみ、さまざまな動物をダック タイプします。いくつかの醜いトリックを学んでみてください。

これには IronPython を使用できませんが、Python の学習に使用できない理由はありません。

于 2009-07-02T06:26:08.147 に答える
3

Pythonを学ぶ経験豊富な開発者にとって、DiveIntoPythonは非常に優れた本です。

WesleyChunのCorePythonProgrammingのは、より「グラウンドアップ」アプローチを採用していますが、経験豊富な開発者にとっては少し遅いかもしれません。しかし、他の言語と比較して、基本的な構文と演算子を非常に簡単に比較することができました。ウェズリーの文体は非常に読みやすく、彼のサンプルプロジェクトは、実際に興味深いものになるほど自明ではありません。

Python Cookbookは、「Pythonic」方式でプログラミングする方法を学ぶための優れたリファレンスです。この本には、Pythonで日常的によくある問題を解決する方法の例が何百も含まれています。一般的に、「クックブック」シリーズは、他のどの本よりも早く言語のイディオムにあなたをさらします。

新しいプログラミング言語を学ぶ必要があるときはいつでも、出てくるすべての「毎日のメンテナンス」タスクにそれを使い始めます-シェルスクリプトまたは一般的なUNIXツールで通常解決するすべての小さなこと-私は使い始めますそれらの問題を解決するための新しい言語。.NETの経験があるので、IronPythonは、Pythonを学びながらその知識を活用するための良い方法です。IronPythonを個人のサンドボックスにインストールするだけで...そしてそれを毎日の忙しい仕事のコーディングタスクすべてに使用する場合でも、Pythonの構文とイディオムを学ぶのに最適な方法です。

于 2009-07-02T15:22:53.923 に答える
3

C# から野生のカモ型の Python へと進むと、かなりのカルチャー ショックを経験することになります。型とインテリセンスの欠如は、かなり困難な場合があります。JavaScript の経験があれば幸いです。また、Python のインデントに敏感なブロック ルールは、経験の浅い人にとっては非常に混乱する可能性があることも知っておいてください (通常、好きか嫌いかのどちらかです :-)

それとは別に、ある言語から別の言語に移行する最大の課題は通常、フレームワークです。残念ながら、すべてのクラスと関数を理解するには時間がかかります。

于 2009-07-02T09:33:46.390 に答える
2

時間があれば、本Pro IronPythonも読む価値があります。

于 2009-07-02T05:19:10.803 に答える
2

学習にはIronPythonを使用することをお勧めします。これは、.NET フレームワークでの Python の実装です。したがって、.NET クラス ライブラリにアクセスして Python を使用/学習できます。

まず、 IronPythonをダウンロードし、 IronPython in Actionを参照することから始めてください。これは、.NET フレームワーク上の Python について説明している非常に優れた本です。

編集: IronPython はオプションではないため、この回答は無視してください。でもありがとう。

于 2009-07-02T04:45:35.177 に答える
2

それについての本を読むことをお勧めします。初心者向けの本。すでに知っていることがたくさん含まれていますが、動的言語の使用に関して見逃すことはありません。Dive into Pythonは非常に親しみやすいと思われます。または、非常に的を射ていると思われるThe Python Tutorialを参照することもできます (これが私が学んだ方法です)。

于 2009-07-02T06:30:48.687 に答える