python中級者です。他人が書いた優秀なコードを使えるようになりたいので、pythonで他人が書いた効率のいいコード、優秀なコードが書いてある書籍やサイトがあったら教えていただけないでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答5件
0
「優秀なコード」はいろいろな側面があります。
効率の良いコードをお探しならAtcoderなどで高難易度問題のクリア回答を見るといくらでも創意工夫を見ることができます。
アルゴリズムはもちろんのこと、
同じことをやっていてもよりはやい書き方(ライブラリの使用含め)、
よりコンパクトなコード
などなどがございます。
大きいプロジェクトなどならよく使われているようなライブラリのGithubをお読みになるとよいのではないでしょうか。
numpy、sklearnなど。
OpenCVはPythonとC++の融合がすごいですが、読むのは大変です。
Pythonではなくなりますが、
https://www.amazon.co.jp/Reading-オープンソースから学ぶソフトウェア開発技法-プレミアムブックス版-Diomidis-Spinellis/dp/4839956693/ref=dp_ob_title_bk
この本は面白いです。
投稿2018/03/20 00:44
総合スコア8562
0
ベストアンサー
書籍
Effective Python
Pythonプログラムを改良するためのTips集で、ベストプラクティクスを紹介している本です。
コードというより概念的な説明も多いですが、コードもシンプルながら良いものばかりです。内容は200ページちょっとで、それぞれの章(59項目)の好きな部分から読めるので、とりあえず立ち読みすることもできます。
Fluent Python
こちらは分厚く、説明もかなり多いのですが良いコードが沢山あります。設計寄りな話とコードも多いので、そちらに興味があれば是非オススメします。
あとですが、他の書籍・サイトの紹介も文中によく出てきます。Effective Pythonにあるライフゲームの実装はyield fromを使った例としては最高だ、ですとか、そういった紹介が多いのも面白です。
エキスパートPythonプログラミング 改正2版
割と最近でました。以前のエキパイが3系対応しました。Pythonプログラミングのベストプラクティクスを学べる本ですが、プログラミング技術だけでなくシステム開発におけるトピックが多いです(パッケージング、デプロイ、ドキュメント作り、テスト等)
そちらに興味があれば、オススメです。
実践Python3
この中ではサンプルコードが一番充実しているかもしれません。質問者さんの意図的にはこれが一番オススメかもしれない。書籍に出てくるコードは本来のコードの一部なので、コードをダウンロードして全体像を把握しながら読むと良いです。
Web
Github
Githubでは、月や週のトレンドリポジトリが見れます。以下は今月のトレンドPythonリポジトリです。これを片っ端から覗いて学習になるかはわかりませんが、自分が多少知っている分野であったり小規模なリポジトリは見ると良いかもしれません。
GithubのPythonトレンド
レシピ集
様々なPythonコードのレシピがあります。レシピなので、1ファイルに収まる程度のコードが大半です。
ActiveState Code
公式ドキュメントと、Github
公式ドキュメントのサンプルコードや、Githubにある標準ライブラリのソースコードも良いコードが多いです。
Pythonによるアルゴリズム・デザインパターンのサンプルコード
Awesome Python内の、「Algorithms and Design Patterns」にて、アルゴリズムやデザインパターンをPythonで実装するサンプルコードが紹介されています。
投稿2018/03/20 04:24
総合スコア972
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
Python CookbookとPythonの標準ライブラリがおススメです。socketserverのMixInの考え方やmultiprocessingのPipeの実装等々、標準ライブラリは読んでて特に勉強になります。
投稿2018/03/20 00:38
総合スコア6149
0
サンプルになるコードはいろいろありますが、
プログラミング中級者に読んでほしい良いコードを書くための20箇条 はコーディング規約の参考になるかと。
投稿2018/03/20 01:18
総合スコア16419
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/20 06:08