2009-10-01 5 views
10

Pythonで基本的なコマンドを学ぶと、直面しているほとんどのプログラミング問題を解決できることがよくあります。しかし、これが行われる方法は実際にはPython-icではありません。 よくあることは、古典的なC++またはJavaのメンタリティを使用して問題を解決することです。しかし、Pythonはこれ以上です。それは機能プログラミングが組み込まれています。多くのライブラリが利用可能です。オブジェクト指向、および独自の方法。 短くても、同じことに対して、しばしばより良い、より短い、より速く、よりエレガントな方法があります。Pythonに慣れるにはどうすればいいですか?

新しい言語を習得するのと少し似ています。まず、言葉と文法を学びますが、あなたは流暢になる必要があります。

言語を学ぶと、どのようにしてPythonに慣れることができますか?どのようにあなたは完了しましたか?主にどんな本が助けになりましたか?

+8

実践、実践、実践。 –

+2

何を実践しますか?どういう意味ですか? –

+1

この質問はSOコミュニティによって閉じられていないことに驚いています:) – ajay

答えて

10

他の人のコードを読んでください。あなた自身のコードのいくつかを書いてください。 1年または2年間繰り返します。

Pythonのドキュメントを読んで、組み込みモジュールについて学んでください。

「Python in a Nutshell」を読んでください。

あなたのRSSリーダーをStack OverflowのPythonタグに登録してください。

2

私はどのプログラミング言語でも流暢になることは、話されている/書かれた言語に流暢になることと同じですね。あなたは言語を話したり聞いたりすることによってそれを行います。

私の助言は、Pythonを使っていくつかのプロジェクトを行うことです、あなたはすぐにそれに流暢になるでしょう。言語をよりよく経験している他の人々のコードを読んで、特定の問題をどのように解決するかを見て、これを補うことができます。

3

あなたはどの言語にも流暢になるのと同じように、多くのプログラムがあります。

私はプロジェクトで作業することをお勧めします(うまくいけば、後で実際に使用することをお勧めします)。プロジェクトに取り組んでいるうちに、基本的な機能が必要になるたびに、自分で作成してみてください。次には他の人たちのやり方をオンラインでチェックしています。

これは両方とも、実際にPythonで処理する方法を学ぶことができますが、一般的なコーディングケースに対応する「Python」の内容を確認することもできます。

3

Pythonの教科書には、言語を教えるだけでなく、言語の哲学(なぜそれがそれなのか)を教え、共通のイディオムを教えるものもあります。私はLearning Python本からMark Lutzで学びました。

言語の基礎をすでに知っている場合は、Googleで「Pythonイディオム」を検索すると、いくつかの宝石が見つかります。あなたには、いくつかの良いPythonコードを読んで、それはそれがあった方法を書いた理由のための感触をつかむ、あなたができる場合は

http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html

http://docs.python.org/dev/howto/doanddont.html

http://jaynes.colorado.edu/PythonIdioms.html

:ここではいくつかありますクールなものを学ぶ。 Pythonicコーディングスキルを向上させるための最近のdiscussion of modules worth readingがあります。

幸運を祈る!

編集:ああ、私は追加する必要があります:Python CookbookとアレックスMartelliの+1。ジョン・エリックは既にそうしていたので、私はこれらについて言及しなかった。

5

その他のPythonic?単純なインポートから始めます。

import this 

さらに、練習を追加します。

7

私は何をしたのか分かります。

  1. Idiomatic Python
  2. ブックマークSO Pythonのキーワードで。
  3. 他のをよく読んでください。 pythonコード。順序があまりにも、おそらく良いこと
  4. The Python Challenge

。これは物事が楽しくなる場所です。

+0

こんにちは、ありがとう。 SOはstackoverflowの立場ですか? "3.他の良いPythonコードを読んでください。"他の回答に提案されているもの以外の他の情報源? –

+0

David Goodgerの "Idiomatic Python" refのための+10(もしできれば)!私は前にそれを読んだことはありませんが、それは宝石でいっぱいです。これらを学ぶとPythonicあなたのコードになるでしょう。 (はい、それは "stackoverflow"です。) – PaulMcG

+0

私は非常にpythonic pythonプログラマと非常にC + + pythonプログラマを知っています。 "良い"は前者を表現するには貧しい選択でした! – physicsmichael

2

技術的優位性で知られている既存のプロジェクトを読んでください。

私はお勧めのもののいくつかは:Pythonで書かれた他の多くのモジュールの