Pythonの中心で立ち往生しているように感じます、過去の初心者を取得する方法[終了]


22

これがSOルールに従わない場合は本当に謝罪しますが、少し助けが必要です。私は個人的にまだpythonの初心者として自分自身を分類していますが、上司が使用する非常に小さくて非常に非現実的なプログラムを書いています。

シンプルなものがまだ私を困惑させるので、私はまだ初心者だと知っていますが、初心者のために読んだ本はすべて、私がすでに知っていることを正直に書き直しますが、すべての「より高度な」本は本当に私が学ぶことを許可しません。そして、彼らが「said」関数または「said」クラスを作成した理由を本当に理解することはありません。だから私の質問に...

この段階から私を押しやる本や何かに関する推奨事項はありますか?私は頭を最初に使用しましたが、通常は彼らは本当に良いですが、私の問題は彼らが再び前進するために追跡を戻すことです、それはHTMLで動作しましたが、 Pythonでの混乱、基本的に私は一緒にフォローしながらプログラムを構築する必要があると思います、再び私はHeadFirstのスタイルが好きですが、私はそれを忘れるだけで一つのことを思い出さなければならない何かが必要です...

記録のために、私はいくつかのO'Reillyの本にチェックインしました


7
最初のコンセプトごとに、慣れるまでいくつかの小さなプログラムを作成します。快適に感じたら、高度なものに到達するまで、同じことをどんどん行います。練習もコーディングもせずに読むだけではあまり役に立ちません。

6
コンピュータサイエンティストのように考える方法をすでに読みましたか?
オスカーメデロス

チュートリアルdocs.python.org/tutorial/index.htmlを既に実行しましたか?あなたを混乱させる特定の側面がありますか?いくつかのコード例を使用してそれらを説明できれば、さらに良いでしょう。
-juanchopanza

上司はPythonで書かれたより大きなプログラムを必要としませんか?経験が必要です

2
わからないときは、やってみて、質問し、質問してください。
-monkut

回答:


23

本を読むのをやめる。

読み取りから解放された時間を使用してコードを記述してください。練習。熟考。作成する実際のコードで実際の問題に直面する。

その後、高度な本で答えられる十分な質問があります。今、あなたはこれらの質問を持っていません、そして本の答えはあなたにとって意味がありません。

これは、外国語の学習や泳ぎ方の学習に非常によく似ています。本だけでは役に立ちません。あなたはたくさん練習する必要があり、それからあなたの脳は「それを得る」。


19

FWIW、私がPythonを本当に学んだのは、自明でないアプリケーションを自分で書くことでした。実際には、C(および後でC ++)を学習するために以前に作成した同じアプリケーションを書き直したので、どのような処理を行う必要があるかについてはよく知っていました。各(再)書き込み中に、使用されている特定の言語によって提供される特別な機能、または単に試してみたいだけの機能を利用しようとしました。

おまけとして、作業が完了した場合、または少なくとも機能するバージョンがあれば、それ自体では価値のないプログラミングの練習ではなく、実際に役立つものが得られます。言語で物事を成し遂げるためのより良い方法をもっと学んだ後、後で戻ってプログラムを変更することもできます。

プログラミング言語を改善するための非常に便利な方法の1つは、他の多くのプログラムを読むことです。最近のそれを行う良い方法の1つは、このStackedOverflowの回答で説明されているように、Googleを使用することです。これは素晴らしいリソースであり、プロのプログラマーによって書かれ、他の実際のアプリケーションで使用される「産業強度」コードをよく読んでいるでしょう。

更新:

Googleのコード検索は2012年1月15日に中止されたため、通常のGoogle検索に戻るほか、有望なコードスニペットコレクションと呼ばれるものがあります。この(閉じた)質問の回答に、他の多くのリソースが記載されています


5
自明ではないことに重点を置いています。難しいことをする方法を学ぶために、難しいことをしようとします。
ブライアンオークリー

5

簡単な概念をただひたすら続けてください。概念をカプセル化した小さなプログラムを作成します。ある時点で、あなたは理解の丘を登るでしょう、そして、新しいものはあなたにとってより意味があります。Pythonスニペットと呼ばれるディレクトリも保持しています。特定の概念の出発点として役立つと思います。

私が貴重だと思うもう1つのトリックは、他の人のコードを読んでコメントし、各行とセクションが何をするかを要約することです。わからない場合は、Googleへの時間です。このようにして、Pythonが実際に動作していることを確認し、Pythonをきちんとしたセクションに分解できます。

コード用の特に豊富なリソースの1つは、Pythonソース自体です。


5

基本的なPythonライブラリまたはオブジェクト指向設計について不明な場合(「said」クラスまたは「said」関数が使用された理由がわからないことに言及しているため):

  1. オブジェクト指向設計のスキルを構築することは、オブジェクト指向設計を通して考えるのに本当に役立ちます。

  2. S.Lottの他のサイト、Building Skills in Pythonも、Pythonスキルを基本を超えて拡張するための良い方法です。以下にリストされている本よりも少しシンプルなアプリケーションがたくさんありますが、それでも楽しくて有益です。


あなたの問題が、Pythonを使用して興味深いことを行う方法を理解できないという場合です。

1)Pythonの初心者:初心者からプロフェッショナルまで、GUI、独自のファイル共有アプリの作成など、いくつかの興味深いものがあります。私もヘットランドのスタイルが好きです。

2)O'Reillyの本に言及しましたが、Programming Pythonはほとんど完全に構文ではなくアプリケーションを扱います。それはあなたの創造的なジュースを流す多くの興味深いアプリケーションを持っています。それは巨大な本(私が思うに約1,500ページ)であり、4eは完全にPython 3に焦点を当てていますが、人々がPythonをどのように使用しているかに間違いなく目を開きます。


S. Lottのサイトへの参照用に+1 ...私はそれを見たことがありません。
ジェラート

4

私がお勧めするPythonの本は2つあり、そのうちの1つは@MikeRandによって既に言及されています。

  • Dive Into Python 3は、入門およびいくつかのより高度なトピックをカバーする必携の本です。
  • Pythonのプログラミングは、非常に高度なPythonトピックに進むのに適した本です。また、(G)UI、システムアプリケーション、Webプログラミングなど、多くの分野をカバーしています。

両方の本の最新バージョンがPython 3に対応していることに注意してください。古いバージョンのPythonを使用している場合は、以前のバージョンの本を探してください。FTR、別のオプションはPython for Software Design(以前のHow to Thinking a Computer Scientist:Learning with Python by @ oscar-mederos)でしたが、その内容のほとんども紹介です(その意味で、代わりにDive Into Pythonをお勧めします) )。


3

最も効率的な方法は、経験豊富なメンターに定期的にコードをレビューしてもらい、彼の提案を実行することです。これは大学の学位の最大のメリットの1つですが、必ずしもそれほど正式である必要はありません。私は自分自身の高度なプログラマを検討したが、私はまだコーディングの前にピアと主要な設計上の決定を議論するために廊下を歩き、その後見直し完成品を得ます。


0

言及されたいくつかの本(特にコンピューター科学者のように考える方法)に加えて、ActiveStateのPython Recipesサイトをチェックしてください。利益といういくつかのものを読んで、あなたは、コードを見て、その後、どのように把握あなたが問題に近づき、どのように異なるのレシピで何からでしょう。


-1

これはかなり奇妙な提案ですが、私が今いる場所にたどり着く方法は、質問をし、他の人が質問するのを見て、答えを読むことです。したがって、Stack OverflowのPythonタグ付きの質問を閲覧するか、(私の場合のように)freenodeの#pythonで定期的になります。


-3

Warren and Carter Sandeの本「Hello World!Teens and Other Beginners向けのコンピュータプログラミング」を試してみてください。Pythonスクリプトを学んだか、Anthony Briggsの「Hello!Python」も素晴らしい本です。

関数、コメント、およびそれがどのように流れるかに関する何らかの構造を使用して、プログラムを編成することに焦点を合わせます。忘れないでください:プログラムは、コンピューターが従う一連の命令です。読みやすく理解しやすくします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.