- 発売日:2024/07/27
- 出版社:技術評論社
- ISBN/JAN:9784297142858
通常価格
2,860 円(税込)
通常価格
セール価格
2,600 円
単価
/
あたり
商品説明
「自分が書いたコードは、仕事で通用するか不安……」
「動くものは作れる。そこからどう上達すればいい?」
そんな悩みを抱えるあなたに、VTuberサプーがPythonでのコードの書きかたをお教えします! 本書は、コードの見た目の整えかたから、読みやすさ、シンプルさ、安全性……などを意識した「プロ」の知識とテクニックをまとめました。中の人のエンジニア経験から得た知見をもとに解説しているので、実際に現場でちゃんと役立つコードに改善できます。この1冊で、自分の書くコードをワンランクアップさせましょう!
「動くものは作れる。そこからどう上達すればいい?」
そんな悩みを抱えるあなたに、VTuberサプーがPythonでのコードの書きかたをお教えします! 本書は、コードの見た目の整えかたから、読みやすさ、シンプルさ、安全性……などを意識した「プロ」の知識とテクニックをまとめました。中の人のエンジニア経験から得た知見をもとに解説しているので、実際に現場でちゃんと役立つコードに改善できます。この1冊で、自分の書くコードをワンランクアップさせましょう!
店舗在庫状況
目次
■■■第1章コードは動けばなんでも同じ?
■■1-1「動けばどんなコードでもいい」から卒業しよう
■1-1-1コードの読みやすさとバグの関係
■1-1-2良いコードが書けると最終的に「楽」になる
■■1-2良いコードとはどんなコードなのか?
■1-2-1可読性
■1-2-2安全性
■1-2-3保守性
■1-2-4効率性
■1-2-5良いコードの基準は複合的な関係
■■1-3Pythonらしいコードを書こう
■1-3-1コーディング規約
■1-3-2標準で用意されてる機能を活用する
■1-3-3グルー言語としてのPython
■■1-4コードの書きかたにはトレンドがある
■1-4-1手続き型プログラミング
■1-4-2オブジェクト指向プログラミング
■1-4-3関数型プログラミング
■1-4-4Pythonとトレンド
■■1-5モチベーションを保ちながらスキルアップする方法
■1-5-1手を動かすことが大切
■1-5-2成長に不安を感じたら
■■■第2章まずはコードの見た目を整えよう
■■2-1コードのお作法「PEP8」の要点をおさえる
■2-1-1PEP8をすべて覚える必要はない!
■2-1-2インデント
■2-1-3空行
■2-1-4スペース
■2-1-51行の長さ
■2-1-6チームのルール
■■2-2コードフォーマッターblackで自動整形してみよう
■2-2-1コードフォーマッターのポイント
■2-2-2コードフォーマッターblackをVSCodeに設定する
■2-2-3コードフォーマッターblackをPyCharmに設定する
■■■第3章読みやすいコードに改善するテクニック
■■3-1コードは適切なサイズで分割しよう
■3-1-1ブロックに分けると読みやすい
■3-1-2関数に切り出す
■3-1-3関数切り出しのコツ
■3-1-4モジュールに切り出す
■■3-2スッキリしたif文を書くコツ
■3-2-1複数の比較演算子を使った条件式をまとめる
■3-2-2条件式の左側は調査対象の変数で統一する
■3-2-3辞書オブジェクトを使うとif文は不要になることがある
■3-2-4複雑な条件は関数にする
■3-2-5早期リターンを使う
■■3-3ネストが深くなりすぎないようにしよう
■3-3-1なぜネストが深くなってしまうのか
■3-3-2深いネスト部分を関数で切り出す
■3-3-3リスト内包表記や高階関数を使う
■3-3-4データ構造を工夫する
■3-3-5早期リターンでネストを浅くする
■■3-4変数名・関数名・クラス名の命名にも注力する!
■3-4-1PEP8の命名規則
■3-4-2「名は体を表す」名前と実態を一致させる
■3-4-3意味を持たない名前は極力避ける
■3-4-4対になる対義語・反対語を使う
■3-4-5ブール型はTrue/Falseがわかる名前にする
■■3-5要所にわかりやすいコメントを残すには
■3-5-1コメントの箇所と量には注意
■3-5-2Docstringで説明文を書く
■3-5-3Docstringの書きかたをマスターする
■■■第4章Python便利機能でシンプルなコードを書く
■■4-1for文で活躍する組み込み関数
■4-1-1enumerate関数でインデックス番号を自動生成
■4-1-2zip関数で複数リストを同時に処理
■4-1-3rangeで連続した数値をかんたんに作る
■■4-2よく使う標準ライブラリ
■4-2-1osで環境変数の情報を取得
■4-2-2datetimeで日時を操作
■4-2-3pathlibでファイル・フォルダを操作
■4-2-4jsonでJSON形式文字列を辞書オブジェクトに変換
■■4-3スッキリしたコードが書けるPython便利機能
■4-3-1リスト内包表記でリスト作成をシンプルにする
■4-3-2三項演算子でif文を短縮
■4-3-3f文字列でかんたんに変数を埋め込む
■■■第5章プロが意識する安全性が高いコードとは?
■■5-1変数のスコープを意識しよう
■5-1-1スコープを理解していないことで起きるエラー
■5-1-2for文の中で定義された値は外でも有効
■5-1-3関数の中から関数の外の変数にアクセスができる
■■5-2ミュータブル/イミュータブルの違いに要注意
■5-2-1ミュータブル/イミュータブルとは?
■5-2-2ミュータブルなオブジェクトのイコールによる代入は避ける
■5-2-3ミュータブルなオブジェクトの引数に注意する
■5-2-4ミュータブルなオブジェクトの引数にデフォルト値を設定するときの罠
■■5-3「副作用」がないコードを書くために
■5-3-1副作用とは?
■5-3-2副作用がある関数はバグの温床
■■5-4インプレースかどうかを意識しよう
■5-4-1インプレースとは?
■5-4-2違いを知らずにバグを仕込んでしまうことも
■5-4-3それぞれのメリットと使い分け
■■5-5型ヒントで可読性と安全性を高める
■5-5-1型ヒントはバグを生みにくくする
■5-5-2型ヒントの基本的な使いかた
■5-5-3柔軟な型ヒント
■5-5-4関数以外で使う便利なケース
■5-5-5静的型チェッカーを併用する
■■5-6安全性の要! 例外処理を書こう
■5-6-1例外処理を書いて次のアクションを促す
■5-6-2例外の送出で悪影響が広がる事態を防ぐ
■5-6-3例外はエスカレーションできる
■5-6-4例外処理を書くべき代表的な箇所
■■5-7テストコード以外でも使えるassert文
■5-7-1assert文の基本的な使いかた
■5-7-2assert文を使うケース
■■5-8ログを出力しよう
■5-8-1なぜログを出力するのか?
■5-8-2loggingライブラリを使う
■5-8-3例外発生時にエラーメッセージをログに出力する
■5-8-4ログの出力フォーマットを指定する
■5-8-5ログの設定ファイルを作成する
■■■第6章中級者への壁! クラスとオブジェクトに慣れる
■■6-1クラスとはなにか? 概念を理解しよう
■6-1-1Pythonはほとんどのものがオブジェクト
■6-1-2クラスはオブジェクトを分類したもの
■6-1-3処理もいっしょにまとめてみよう
■6-1-4クラス設計の難しさ
■6-1-5selfとはオブジェクト自身のこと
■■6-2dataclassでデータ格納に特化したクラスを作る
■6-2-1dataclassの基本とメリット
■6-2-2インスタンス変数にデフォルト値を設定する
■6-2-3「==」での比較は値の一致でTrueになる
■6-2-4frozen=Trueで変更不可能なオブジェクトを作る
■6-2-5asdictで辞書オブジェクトに変換する
■■6-3オブジェクト指向を正しく理解する
■6-3-1オブジェクトを使う=オブジェクト指向ではない
■6-3-2カプセル化
■6-3-3継承
■6-3-4ポリモーフィズム
■■■第7章バグがあるかも? テストコードを書こう!
■■7-1テストコードとはなにか?
■7-1-1アプリケーション開発におけるテストとは?
■7-1-2テストコードを書くメリット
■■7-2pytestを使ってテストコードを書いてみよう
■7-2-1pytestの使いかた
■7-2-2fixtureを使って事前処理・事後処理を追加
■7-2-3自作関数をモックに置き換える
■7-2-4外部ライブラリの関数をモックに置き換える
■7-2-5例外発生を確認するためのテスト
■7-2-6テストコードが書きやすいコードとは
■■■第8章自力でエラーを解消するために
■■8-1エラーを解消するためのヒント
■8-1-1はじめの一歩! エラーメッセージを読もう
■8-1-2デバッガーを使ってなにが想定と違うか確認しよう
■8-1-3ネットで情報収集をしよう
■8-1-4AIを活用しよう
■■8-2YouTubeの質問で多いエラー
■8-2-1未定義のオブジェクトへのアクセス
■8-2-2未インストールのライブラリ使用
■8-2-3モジュールと同一名のファイル
■8-2-4パスの指定誤り
■■■巻末付録厳選! プログラミング学習に役立つサービス
■■1-1「動けばどんなコードでもいい」から卒業しよう
■1-1-1コードの読みやすさとバグの関係
■1-1-2良いコードが書けると最終的に「楽」になる
■■1-2良いコードとはどんなコードなのか?
■1-2-1可読性
■1-2-2安全性
■1-2-3保守性
■1-2-4効率性
■1-2-5良いコードの基準は複合的な関係
■■1-3Pythonらしいコードを書こう
■1-3-1コーディング規約
■1-3-2標準で用意されてる機能を活用する
■1-3-3グルー言語としてのPython
■■1-4コードの書きかたにはトレンドがある
■1-4-1手続き型プログラミング
■1-4-2オブジェクト指向プログラミング
■1-4-3関数型プログラミング
■1-4-4Pythonとトレンド
■■1-5モチベーションを保ちながらスキルアップする方法
■1-5-1手を動かすことが大切
■1-5-2成長に不安を感じたら
■■■第2章まずはコードの見た目を整えよう
■■2-1コードのお作法「PEP8」の要点をおさえる
■2-1-1PEP8をすべて覚える必要はない!
■2-1-2インデント
■2-1-3空行
■2-1-4スペース
■2-1-51行の長さ
■2-1-6チームのルール
■■2-2コードフォーマッターblackで自動整形してみよう
■2-2-1コードフォーマッターのポイント
■2-2-2コードフォーマッターblackをVSCodeに設定する
■2-2-3コードフォーマッターblackをPyCharmに設定する
■■■第3章読みやすいコードに改善するテクニック
■■3-1コードは適切なサイズで分割しよう
■3-1-1ブロックに分けると読みやすい
■3-1-2関数に切り出す
■3-1-3関数切り出しのコツ
■3-1-4モジュールに切り出す
■■3-2スッキリしたif文を書くコツ
■3-2-1複数の比較演算子を使った条件式をまとめる
■3-2-2条件式の左側は調査対象の変数で統一する
■3-2-3辞書オブジェクトを使うとif文は不要になることがある
■3-2-4複雑な条件は関数にする
■3-2-5早期リターンを使う
■■3-3ネストが深くなりすぎないようにしよう
■3-3-1なぜネストが深くなってしまうのか
■3-3-2深いネスト部分を関数で切り出す
■3-3-3リスト内包表記や高階関数を使う
■3-3-4データ構造を工夫する
■3-3-5早期リターンでネストを浅くする
■■3-4変数名・関数名・クラス名の命名にも注力する!
■3-4-1PEP8の命名規則
■3-4-2「名は体を表す」名前と実態を一致させる
■3-4-3意味を持たない名前は極力避ける
■3-4-4対になる対義語・反対語を使う
■3-4-5ブール型はTrue/Falseがわかる名前にする
■■3-5要所にわかりやすいコメントを残すには
■3-5-1コメントの箇所と量には注意
■3-5-2Docstringで説明文を書く
■3-5-3Docstringの書きかたをマスターする
■■■第4章Python便利機能でシンプルなコードを書く
■■4-1for文で活躍する組み込み関数
■4-1-1enumerate関数でインデックス番号を自動生成
■4-1-2zip関数で複数リストを同時に処理
■4-1-3rangeで連続した数値をかんたんに作る
■■4-2よく使う標準ライブラリ
■4-2-1osで環境変数の情報を取得
■4-2-2datetimeで日時を操作
■4-2-3pathlibでファイル・フォルダを操作
■4-2-4jsonでJSON形式文字列を辞書オブジェクトに変換
■■4-3スッキリしたコードが書けるPython便利機能
■4-3-1リスト内包表記でリスト作成をシンプルにする
■4-3-2三項演算子でif文を短縮
■4-3-3f文字列でかんたんに変数を埋め込む
■■■第5章プロが意識する安全性が高いコードとは?
■■5-1変数のスコープを意識しよう
■5-1-1スコープを理解していないことで起きるエラー
■5-1-2for文の中で定義された値は外でも有効
■5-1-3関数の中から関数の外の変数にアクセスができる
■■5-2ミュータブル/イミュータブルの違いに要注意
■5-2-1ミュータブル/イミュータブルとは?
■5-2-2ミュータブルなオブジェクトのイコールによる代入は避ける
■5-2-3ミュータブルなオブジェクトの引数に注意する
■5-2-4ミュータブルなオブジェクトの引数にデフォルト値を設定するときの罠
■■5-3「副作用」がないコードを書くために
■5-3-1副作用とは?
■5-3-2副作用がある関数はバグの温床
■■5-4インプレースかどうかを意識しよう
■5-4-1インプレースとは?
■5-4-2違いを知らずにバグを仕込んでしまうことも
■5-4-3それぞれのメリットと使い分け
■■5-5型ヒントで可読性と安全性を高める
■5-5-1型ヒントはバグを生みにくくする
■5-5-2型ヒントの基本的な使いかた
■5-5-3柔軟な型ヒント
■5-5-4関数以外で使う便利なケース
■5-5-5静的型チェッカーを併用する
■■5-6安全性の要! 例外処理を書こう
■5-6-1例外処理を書いて次のアクションを促す
■5-6-2例外の送出で悪影響が広がる事態を防ぐ
■5-6-3例外はエスカレーションできる
■5-6-4例外処理を書くべき代表的な箇所
■■5-7テストコード以外でも使えるassert文
■5-7-1assert文の基本的な使いかた
■5-7-2assert文を使うケース
■■5-8ログを出力しよう
■5-8-1なぜログを出力するのか?
■5-8-2loggingライブラリを使う
■5-8-3例外発生時にエラーメッセージをログに出力する
■5-8-4ログの出力フォーマットを指定する
■5-8-5ログの設定ファイルを作成する
■■■第6章中級者への壁! クラスとオブジェクトに慣れる
■■6-1クラスとはなにか? 概念を理解しよう
■6-1-1Pythonはほとんどのものがオブジェクト
■6-1-2クラスはオブジェクトを分類したもの
■6-1-3処理もいっしょにまとめてみよう
■6-1-4クラス設計の難しさ
■6-1-5selfとはオブジェクト自身のこと
■■6-2dataclassでデータ格納に特化したクラスを作る
■6-2-1dataclassの基本とメリット
■6-2-2インスタンス変数にデフォルト値を設定する
■6-2-3「==」での比較は値の一致でTrueになる
■6-2-4frozen=Trueで変更不可能なオブジェクトを作る
■6-2-5asdictで辞書オブジェクトに変換する
■■6-3オブジェクト指向を正しく理解する
■6-3-1オブジェクトを使う=オブジェクト指向ではない
■6-3-2カプセル化
■6-3-3継承
■6-3-4ポリモーフィズム
■■■第7章バグがあるかも? テストコードを書こう!
■■7-1テストコードとはなにか?
■7-1-1アプリケーション開発におけるテストとは?
■7-1-2テストコードを書くメリット
■■7-2pytestを使ってテストコードを書いてみよう
■7-2-1pytestの使いかた
■7-2-2fixtureを使って事前処理・事後処理を追加
■7-2-3自作関数をモックに置き換える
■7-2-4外部ライブラリの関数をモックに置き換える
■7-2-5例外発生を確認するためのテスト
■7-2-6テストコードが書きやすいコードとは
■■■第8章自力でエラーを解消するために
■■8-1エラーを解消するためのヒント
■8-1-1はじめの一歩! エラーメッセージを読もう
■8-1-2デバッガーを使ってなにが想定と違うか確認しよう
■8-1-3ネットで情報収集をしよう
■8-1-4AIを活用しよう
■■8-2YouTubeの質問で多いエラー
■8-2-1未定義のオブジェクトへのアクセス
■8-2-2未インストールのライブラリ使用
■8-2-3モジュールと同一名のファイル
■8-2-4パスの指定誤り
■■■巻末付録厳選! プログラミング学習に役立つサービス
- 発売日:2024/07/27
- 出版社:技術評論社
- ISBN/JAN:9784297142858