以前より、Python言語におけて、中上級者向けに書かれた技術書が少ないことに不満を感じていた(ことによると、日本語では皆無かもしれない)。 その空白を見事に埋めてくれるのが本書である。
全体の構成は『Effective Java』同様、Pythonプログラミングの経験で培われるノウハウ、イディオム、落とし穴等を上手く纏め、全59項目を通じて紹介する。 プログラムは Python 2・3 両者に適用できる。 また、Python 2 と 3 の見過ごしやすい細かな違いも触れられているのが嬉しい。 それと、読了して驚いたのだが、全章一読に値すると言える内容である。 例えば、5章「並行性と並列性」では、正しいスレッドの扱い方・管理の仕方――これがPythonでは意外に難しい――が簡潔に説明される。 7,8章では、プロジェクトがある程度の大きさになれば避けて通れぬ開発の薀蓄が記載されているので、組織で働く技術者には必見である。 最後に、各項目には親切にも「覚えておくこと」の箇条書きが記されており、再読時に便利である。
難点があるとすれば、それは翻訳の拙さにある。 全体を通して、意訳ではなく逐語(直訳)的な翻訳がされているからだ。 加えて、不的確な句読点の位置、不自然な日本語表現が多々見つかった。 英語翻訳スキルにも起因するだろうが、それ以前に訳者はPythonをそこまで深く理解していないのかも知れない――もっとも、それ故に監修を付けたのであろうが。 ただ、コードによる説明が大半の本書に至っては、その瑕疵が評価を下げる要因とはならないので心配には及ばない。
総じて、全てのPythonプログラマにお勧めできる名著と言えよう。 著者である Google の Brett Slatkin 氏に敬意を表したい。
¥3,980¥3,980 税込
無料配送 5月30日-31日にお届け
発送元: 令和書店 毎日発送中です!【安心の返金保証適用品】 販売者: 令和書店 毎日発送中です!【安心の返金保証適用品】
¥3,980¥3,980 税込
無料配送 5月30日-31日にお届け
発送元: 令和書店 毎日発送中です!【安心の返金保証適用品】
販売者: 令和書店 毎日発送中です!【安心の返金保証適用品】
¥197¥197 税込
配送料 ¥240 6月1日-3日にお届け
発送元: バリューブックス 【防水梱包で、丁寧に発送します】 販売者: バリューブックス 【防水梱包で、丁寧に発送します】
¥197¥197 税込
配送料 ¥240 6月1日-3日にお届け
発送元: バリューブックス 【防水梱包で、丁寧に発送します】
販売者: バリューブックス 【防水梱包で、丁寧に発送します】
無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません。
ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。
携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。
Effective Python ―Pythonプログラムを改良する59項目 大型本 – 2016/1/23
{"desktop_buybox_group_1":[{"displayPrice":"¥3,980","priceAmount":3980.00,"currencySymbol":"¥","integerValue":"3,980","decimalSeparator":null,"fractionalValue":null,"symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"FilwjEW3%2BVcMa0z8fffTX7ABV%2FPK2TtVW3LQIMT4VACpXNKezZfReSapL87KdO9fu2AWdCILnr5EZFYARIJnx7pmltDDxj284ZXEmGmbkd4a4g0DGNXq%2FYXh3OUGJ%2FGBKnm9uGFaJdW4B90l0GuYa01VmmmIqtnRD5syvBmwIWcNDg9Urz3csA%3D%3D","locale":"ja-JP","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"¥197","priceAmount":197.00,"currencySymbol":"¥","integerValue":"197","decimalSeparator":null,"fractionalValue":null,"symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"FilwjEW3%2BVcMa0z8fffTX7ABV%2FPK2TtVHAwZqsHRzNWchOupqj3Y6J614pqze%2Bf9CGbqUroE3nrO3Li2nCufiiK8aGHKE3BqWl1SYABwj%2BFmE99Zvde3Cbe4S8RtYhyU1oZv2WgqH2Dd5lqKuYwDAWf7oo7PkYbC7PgL%2FbSt1bzZ2%2FMyFHaSfQ%3D%3D","locale":"ja-JP","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}
購入オプションとあわせ買い
Scott Meyersによる人気シリーズ、「Effective Software Development」シリーズに待望のPythonバージョンが登場。
シリーズの真骨頂である、効率的で優れたプログラムはどのように書けばよいのか、を指南。
ベストプラクティス、ヒント、落とし穴の避け方や達人プログラマのコードなどを紹介し、効果的な優れたPythonプログラムを書くノウハウをまとめています。
Pythonを知り尽くした著者が、より良いPythonコードを書くために何をすべきか、何をすべきでないか、なぜこれが良い方法なのかをPythonの流儀に従って教えてくれます。
強力な機能を備えながらもシンプルで使いやすく、多くの開発者を惹きつけてやまないPythonの魅力と威力を体感できる一冊です。
シリーズの真骨頂である、効率的で優れたプログラムはどのように書けばよいのか、を指南。
ベストプラクティス、ヒント、落とし穴の避け方や達人プログラマのコードなどを紹介し、効果的な優れたPythonプログラムを書くノウハウをまとめています。
Pythonを知り尽くした著者が、より良いPythonコードを書くために何をすべきか、何をすべきでないか、なぜこれが良い方法なのかをPythonの流儀に従って教えてくれます。
強力な機能を備えながらもシンプルで使いやすく、多くの開発者を惹きつけてやまないPythonの魅力と威力を体感できる一冊です。
- 本の長さ256ページ
- 言語日本語
- 出版社オライリージャパン
- 発売日2016/1/23
- 寸法24 x 19 x 2 cm
- ISBN-104873117569
- ISBN-13978-4873117560
この商品をチェックした人はこんな商品もチェックしています
ページ 1 以下のうち 1 最初から観るページ 1 以下のうち 1
商品の説明
著者について
Brett Slatkin(ブレット・スラットキン):Google社のシニアスタッフソフトウェアエンジニア。Google Consumer Surveysの共同創立者でエンジニアリングリードを務める。それ以前は、Google App EngineのPythonインフラストラクチャを担当していた。彼は、PubSubHubbubプロトコルの共同作成者である。9年前に、彼はGoogleの膨大なサーバ群を管理するためにPythonを使い始めた。業務外では、オープンソースのツールを開発し、自分のウェブサイト(http://www.onebigfluke.com/)でソフトウェア、自転車、その他の話題について書いている。彼は、ニューヨーク市のコロンビア大学でコンピュータエンジニアリングの学位を取得し、サンフランシスコに住んでいる。
登録情報
- 出版社 : オライリージャパン (2016/1/23)
- 発売日 : 2016/1/23
- 言語 : 日本語
- 大型本 : 256ページ
- ISBN-10 : 4873117569
- ISBN-13 : 978-4873117560
- 寸法 : 24 x 19 x 2 cm
- Amazon 売れ筋ランキング: - 527,783位本 (本の売れ筋ランキングを見る)
- - 1,430位ソフトウェア開発・言語
- カスタマーレビュー:
著者について
著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。
著者の本をもっと発見したり、よく似た著者を見つけたり、著者のブログを読んだりしましょう
-
トップレビュー
上位レビュー、対象国: 日本
レビューのフィルタリング中に問題が発生しました。後でもう一度試してください。
2016年2月10日に日本でレビュー済み
Amazonで購入
2016年2月11日に日本でレビュー済み
Amazonで購入
[内容]
文法書・入門書は何でもひと通り説明するので、複数の方法を優劣はつけずに並べた内容になりがちですが、プログラミング言語○○シリーズに次ぐ定番ともいえるEffectiveシリーズは、ポイントを絞った上で「いくつか方法があるが、この方法を使ったほうがいい」、「この機能は存在するが使わない方がいい」ということを理由付きではっきり言い切るところがいいです。
本書でいうならばfor,while文のelseはいらないとか、Pythonは並列処理に向かないといったことも率直に認めてしまうあたりがEffectiveシリーズらしいと感じました。
一方で、「 EFFECTIVE JAVA 」は「Javaの精神」のようなものが一冊を通じて流れているのを感じましたが、本書は「Pythonの禅」が既に言語自体に含まれているせいか、あまりそういうものは感じませんでした。
[読者レベル]
文法についてはひと通り身についていることが前提です。
オブジェクト指向や関数型オブジェクトの理解を背景とした記述がなされていることが結構あるので、プログラミング経験がないと苦戦すると思います。ですが、そういった概念は関係なく読める部分も多いですので、我流の練習で癖がつく前に目を通し始める価値はあると思います。後で読むと「もっと早く知っていればよかった」と思うこともあるかもしれません。
[読み方]
目次や項の末尾の「覚えておくこと」をみて、「当然だ」または「今の自分には関係ない」と思ったら飛ばして読んでいくと負担はかなり軽くなるはずです。
わからない用語に出会ったら無理に読み進めるよりも、その用語を調べることで世界が広がるかもしれません。
章ごとの個人的な印象を述べると、
1-3, 6章(思考・関数・クラス・標準パッケージ)はプログラムを書き始める前に押さえておきたい内容。
4,5章(メタクラス: 似たような関数やクラスを多数作る機能、並行性)は飛ばして必要になってから読むという方法もありです。Python3.5のasyncには未対応ですが、asyncを知った上で読めば十分通用します。
7,8章(協同作業、運用準備)の項目(49,)53,56(,57)はプログラムを書く前に知っておいたほうが良いと思います。
[その他]
翻訳は、プログラミング用語の直訳だろうと思うところが少しありましたが、特に問題を感じませんでした。
Python3.4対応ですが、Python2で動作が異なる場合は分けて記述されています。Python3のマイナーバージョン間で仕様が異なる場合も説明されています。
文法書・入門書は何でもひと通り説明するので、複数の方法を優劣はつけずに並べた内容になりがちですが、プログラミング言語○○シリーズに次ぐ定番ともいえるEffectiveシリーズは、ポイントを絞った上で「いくつか方法があるが、この方法を使ったほうがいい」、「この機能は存在するが使わない方がいい」ということを理由付きではっきり言い切るところがいいです。
本書でいうならばfor,while文のelseはいらないとか、Pythonは並列処理に向かないといったことも率直に認めてしまうあたりがEffectiveシリーズらしいと感じました。
一方で、「 EFFECTIVE JAVA 」は「Javaの精神」のようなものが一冊を通じて流れているのを感じましたが、本書は「Pythonの禅」が既に言語自体に含まれているせいか、あまりそういうものは感じませんでした。
[読者レベル]
文法についてはひと通り身についていることが前提です。
オブジェクト指向や関数型オブジェクトの理解を背景とした記述がなされていることが結構あるので、プログラミング経験がないと苦戦すると思います。ですが、そういった概念は関係なく読める部分も多いですので、我流の練習で癖がつく前に目を通し始める価値はあると思います。後で読むと「もっと早く知っていればよかった」と思うこともあるかもしれません。
[読み方]
目次や項の末尾の「覚えておくこと」をみて、「当然だ」または「今の自分には関係ない」と思ったら飛ばして読んでいくと負担はかなり軽くなるはずです。
わからない用語に出会ったら無理に読み進めるよりも、その用語を調べることで世界が広がるかもしれません。
章ごとの個人的な印象を述べると、
1-3, 6章(思考・関数・クラス・標準パッケージ)はプログラムを書き始める前に押さえておきたい内容。
4,5章(メタクラス: 似たような関数やクラスを多数作る機能、並行性)は飛ばして必要になってから読むという方法もありです。Python3.5のasyncには未対応ですが、asyncを知った上で読めば十分通用します。
7,8章(協同作業、運用準備)の項目(49,)53,56(,57)はプログラムを書く前に知っておいたほうが良いと思います。
[その他]
翻訳は、プログラミング用語の直訳だろうと思うところが少しありましたが、特に問題を感じませんでした。
Python3.4対応ですが、Python2で動作が異なる場合は分けて記述されています。Python3のマイナーバージョン間で仕様が異なる場合も説明されています。
2017年5月18日に日本でレビュー済み
内容については他の方のレビューの通りまさに実践的で欲しかった情報が書いてあるものの、日本語がものすごくわかりにくい。たいして難しいことが書いてあるわけではないのに、ものすごくわかりにくい冗長な言い回しで、原文がどういう書き方をしているのか気になってくる。
2018年11月3日に日本でレビュー済み
Amazonで購入
内容はある程度pythonを書いたことある人向けです。
サンプルコードが豊富で私はベストプラクティスとして暇なときに読んでいます。
サンプルコードが豊富で私はベストプラクティスとして暇なときに読んでいます。
2016年2月12日に日本でレビュー済み
Amazonで購入
Python3.xベースでの解説(Python2.xでのフォローもあり)がありがたい。
Pythonにおける言語の仕様、特性からプログラムにおける最適解決方法を下記1~8章仕立てで59項目提示し、読者が袋小路にハマる前に警鐘を鳴らしてくれる。各項目を軽く頭に留めておき、現場作業での実際の局面での一つの選択肢として重宝しそうだと感じた。
以下の内容をページを追って学ぶことができる。
--------------------------------------------
1章:Python流思考(項目1~13)、2章:関数(項目14~21)、3章:クラスと継承(項目22~28)、4章:メタクラスと属性(項目29~35)
コーディング基準など作業粒度が小さく済む即座に対応できる可読性が向上するテクニックから、将来的な保守や拡張の善し悪しにも影響しうる基底での設計、実装テクニックまで幅広くカバーし紹介している。
--------------------------------------------
5章:並行性と並列性(項目36~41)
スレッド(並行と並列)、子プロセス(並列)、コルーチン(擬似同時実行)、multiprocessing(並列)による各挙動の違いをPythonの言語仕様の観点から最適な選択基準やテクニック(スレッドでブロッキングI/O、相互排他ロック、パイプライン...など)も踏まえ紹介している。
--------------------------------------------
6章:組み込みモジュール(項目42~48)
標準で同梱されているモジュールを使って、問題事例(例:ローカルクロックはdatetimeを使いtimeを避けるべき。精度が必要な数値計算にdecimalを使う。...など)や出くわしそうな事例(例:開発により拡張が続いているゲームの設定値をシリアライズで安全に保存ロードしたい。...など)の解決テクニックを紹介している。また、Pythonの速度低下の大抵の原因は最適な組み込みアルゴリズムとデータ構造を使うことで解決するはずと紹介も踏まえて述べている。
--------------------------------------------
7章:協働作業(項目49~53)
作業を円滑に進めるドキュメンテーションの方法、例外処理の拡張方法、循環依存対策、共通パッケージ依存で対応しているバージョンが異なることにより起こる動作不良を仮想環境で異なるバージョンを共存させて解決する方法などを紹介している。
--------------------------------------------
8章:本番運用準備(項目54~59)
ユニットテスト、対話的デバッグの方法、性能調査用プロファイラ、メモリリーク調査、リリースに向けての環境差異の吸収手段などを紹介している。
以上。
Pythonにおける言語の仕様、特性からプログラムにおける最適解決方法を下記1~8章仕立てで59項目提示し、読者が袋小路にハマる前に警鐘を鳴らしてくれる。各項目を軽く頭に留めておき、現場作業での実際の局面での一つの選択肢として重宝しそうだと感じた。
以下の内容をページを追って学ぶことができる。
--------------------------------------------
1章:Python流思考(項目1~13)、2章:関数(項目14~21)、3章:クラスと継承(項目22~28)、4章:メタクラスと属性(項目29~35)
コーディング基準など作業粒度が小さく済む即座に対応できる可読性が向上するテクニックから、将来的な保守や拡張の善し悪しにも影響しうる基底での設計、実装テクニックまで幅広くカバーし紹介している。
--------------------------------------------
5章:並行性と並列性(項目36~41)
スレッド(並行と並列)、子プロセス(並列)、コルーチン(擬似同時実行)、multiprocessing(並列)による各挙動の違いをPythonの言語仕様の観点から最適な選択基準やテクニック(スレッドでブロッキングI/O、相互排他ロック、パイプライン...など)も踏まえ紹介している。
--------------------------------------------
6章:組み込みモジュール(項目42~48)
標準で同梱されているモジュールを使って、問題事例(例:ローカルクロックはdatetimeを使いtimeを避けるべき。精度が必要な数値計算にdecimalを使う。...など)や出くわしそうな事例(例:開発により拡張が続いているゲームの設定値をシリアライズで安全に保存ロードしたい。...など)の解決テクニックを紹介している。また、Pythonの速度低下の大抵の原因は最適な組み込みアルゴリズムとデータ構造を使うことで解決するはずと紹介も踏まえて述べている。
--------------------------------------------
7章:協働作業(項目49~53)
作業を円滑に進めるドキュメンテーションの方法、例外処理の拡張方法、循環依存対策、共通パッケージ依存で対応しているバージョンが異なることにより起こる動作不良を仮想環境で異なるバージョンを共存させて解決する方法などを紹介している。
--------------------------------------------
8章:本番運用準備(項目54~59)
ユニットテスト、対話的デバッグの方法、性能調査用プロファイラ、メモリリーク調査、リリースに向けての環境差異の吸収手段などを紹介している。
以上。
2020年4月9日に日本でレビュー済み
Amazonで購入
中身はいい感じですが、翻訳がかなり残念ですね。
他にコメントが出ているので多くは語りませんが、とにかく読むのにストレスが貯まります。
初めて勉強する内容だと、翻訳がおかしいだけでインプットにかなり手こずります。
おそらく翻訳担当の黒川利明さんは、機械的な翻訳にかけただけで、読みづらさは気にしなかったのでしょう。
それか中身のチェックすらしていないか。
とても残念です。
他にコメントが出ているので多くは語りませんが、とにかく読むのにストレスが貯まります。
初めて勉強する内容だと、翻訳がおかしいだけでインプットにかなり手こずります。
おそらく翻訳担当の黒川利明さんは、機械的な翻訳にかけただけで、読みづらさは気にしなかったのでしょう。
それか中身のチェックすらしていないか。
とても残念です。
2017年1月19日に日本でレビュー済み
Amazonで購入
不明点が多いので調べて読んで、と何度も読んでいますが読む度に理解が少しずつ進みます。
でもまだまだ分からない所が沢山。
書いて、読んでを繰り返す必要がありますね。
でもまだまだ分からない所が沢山。
書いて、読んでを繰り返す必要がありますね。
2017年9月28日に日本でレビュー済み
Pythonの中級者〜向けの書籍はいくつかありますが、恐らくこの本は最も読みやすいです。
59の項目に分かれており、「ランダムアクセス可能」と書籍内で紹介されてますが正にそのとおり、興味のある項目だけ読むことも可能です。
翻訳について、私はあまり気になりませんでした。
59の項目に分かれており、「ランダムアクセス可能」と書籍内で紹介されてますが正にそのとおり、興味のある項目だけ読むことも可能です。
翻訳について、私はあまり気になりませんでした。