[解決済み] Pythonの上達の道 - 見習いから第一人者へ
質問
Pythonを学び、働き、遊び始めて1年半になります。生物学者としてバイオインフォマティクスに徐々に転向してきた私にとって、この言語は研究室で行ってきたすべての主要な貢献のまさに中核をなすものでした。Pythonは美しい解を表現することを可能にしてくれますし、思考から実行可能なコードへの自然な流れを可能にする言語のセマンティクスにも、多かれ少なかれ惚れ込んでいます。
私が知りたいのは、このフォーラムや他のフォーラムであまり見たことがない種類の質問に対するあなたの答えです。この質問は、Pythonの改善への道を歩んでいるが、次のステップは何であるべきかと考えている人にとって、私にとって中心的なものであると思われます。
まず、聞きたくないことをまとめますね ;)
- Pythonを短期間で習得する方法は知りたくありません。
- また、この言語を知るための最良の方法を見つけたいわけでもない。
- 最後に、「一芸に秀でる」ようなアプローチは知りたくない。
私が知りたいのは、皆さんの意見です。
Pythonの職人として、見習いからグルの地位まで(専門知識があればどこでやめても構いません)、常に向上し、一歩ずつ良いPythonコーダーになるために、あなたが勧めるステップは何ですか?SOにいる何人かの人々は、彼らのPythonの腕前が崇拝に値するように見えますが、私たちを啓発してください :)
私が楽しみたい回答は、以下のようなものです(ただし、読者を驚かせるような回答は自由にしてください)。
- これを読んで(例:pythonのチュートリアル)、そのような細部に注意してください。
- 多くの時間/問題/行のコード
- 次に、これ(例:この本やあの本)を読みますが、今回はこれに注意してください。
- 現実の問題にいくつか取り組む
- その後、Yのリーディングに進む。
- これらの概念を必ず把握すること
- X時間のコード
- このような基本に戻るか、あるいはさらに...
- (要点はつかめたか)
コンスタントに(もちろん、それなりの努力は必要ですが)進歩するためには、様々な段階で具体的にどのようなことに気をつければよいのか、皆さんのご意見を伺いたいと思います。もしあなたが特定の専門分野から来たのであれば、その分野で適切と思われる道筋を議論してください。
EDIT: 皆様の素晴らしいご意見のおかげで、Pythonの改良路線に戻りました! 本当に感謝しています!
どのように解決するのですか?
Pythonを使いこなすには、次のようなプロセスが必要だと思いました。
- 発見 リスト内包
- 発見 ジェネレーター
- 組み込む map, reduce, filter, iter, range, xrange の略。 あなたのコードに頻繁に
- 発見 デコレーター
- 再帰的な関数を書く、たくさん
- 発見 イターツール と ファンクツール
- 読む リアルワールドハスケル ( オンラインで無料で読む )
- 高次関数、再帰、その他を駆使して、古いPythonのコードをすべて書き直します。
- Pythonのクラスを提示されるたびに、同僚を困らせることができます。 辞書と関数の組み合わせで実装した方が良いと主張する。 関数型プログラミングを取り入れる。
- を再発見してください。 戦略 のパターンで、次に もろもろ Haskellの後に一生懸命忘れようとしていた命令型コードから。
- バランスを見つける。
関連
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python入門 openを使ったファイルの読み書きの方法
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み] リスト理解 vs マップ