VTuberサプーが教える! Python 初心者のコード/プロのコード
2024年7月27日紙版発売
2024年7月27日電子版発売
サプー 著
A5判/288ページ
定価2,860円(本体2,600円+税10%)
ISBN 978-4-297-14285-8
書籍の概要
この本の概要
- 「自分が書いたコードは,仕事で通用するか不安……」
- 「動くものは作れる。そこからどう上達すればいい?」
そんな悩みを抱えるあなたに,VTuberサプーがPythonでのコードの書きかたをお教えします! 本書は,コードの見た目の整えかたから,読みやすさ,シンプルさ,安全性……などを意識した「プロ」の知識とテクニックをまとめました。中の人のエンジニア経験から得た知見をもとに解説しているので,実際に現場でちゃんと役立つコードに改善できます。この1冊で,自分の書くコードをワンランクアップさせましょう!
こんな方におすすめ
- エンジニアへの転職を見据えてPythonを勉強中の人
- よりよいコードの書きかたを知りたい人
本書のサンプル
本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。
目次
第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-3 Pythonらしいコードを書こう
- 1-3-1 コーディング規約
- 1-3-2 標準で用意されてる機能を活用する
- 1-3-3 グルー言語としてのPython
1-4 コードの書きかたにはトレンドがある
- 1-4-1 手続き型プログラミング
- 1-4-2 オブジェクト指向プログラミング
- 1-4-3 関数型プログラミング
- 1-4-4 Pythonとトレンド
1-5 モチベーションを保ちながらスキルアップする方法
- 1-5-1 手を動かすことが大切
- 1-5-2 成長に不安を感じたら
第2章 まずはコードの見た目を整えよう
2-1 コードのお作法「PEP8」の要点をおさえる
- 2-1-1 PEP8をすべて覚える必要はない!
- 2-1-2 インデント
- 2-1-3 空行
- 2-1-4 スペース
- 2-1-5 1行の長さ
- 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-1 PEP8の命名規則
- 3-4-2 「名は体を表す」名前と実態を一致させる
- 3-4-3 意味を持たない名前は極力避ける
- 3-4-4 対になる対義語・反対語を使う
- 3-4-5 ブール型はTrue/Falseがわかる名前にする
3-5 要所にわかりやすいコメントを残すには
- 3-5-1 コメントの箇所と量には注意
- 3-5-2 Docstringで説明文を書く
- 3-5-3 Docstringの書きかたをマスターする
第4章 Python便利機能でシンプルなコードを書く
4-1 for文で活躍する組み込み関数
- 4-1-1 enumerate関数でインデックス番号を自動生成
- 4-1-2 zip関数で複数リストを同時に処理
- 4-1-3 rangeで連続した数値をかんたんに作る
4-2 よく使う標準ライブラリ
- 4-2-1 osで環境変数の情報を取得
- 4-2-2 datetimeで日時を操作
- 4-2-3 pathlibでファイル・フォルダを操作
- 4-2-4 jsonでJSON形式文字列を辞書オブジェクトに変換
4-3 スッキリしたコードが書けるPython便利機能
- 4-3-1 リスト内包表記でリスト作成をシンプルにする
- 4-3-2 三項演算子でif文を短縮
- 4-3-3 f文字列でかんたんに変数を埋め込む
第5章 プロが意識する安全性が高いコードとは?
5-1 変数のスコープを意識しよう
- 5-1-1 スコープを理解していないことで起きるエラー
- 5-1-2 for文の中で定義された値は外でも有効
- 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-1 assert文の基本的な使いかた
- 5-7-2 assert文を使うケース
5-8 ログを出力しよう
- 5-8-1 なぜログを出力するのか?
- 5-8-2 loggingライブラリを使う
- 5-8-3 例外発生時にエラーメッセージをログに出力する
- 5-8-4 ログの出力フォーマットを指定する
- 5-8-5 ログの設定ファイルを作成する
第6章 中級者への壁! クラスとオブジェクトに慣れる
6-1 クラスとはなにか? 概念を理解しよう
- 6-1-1 Pythonはほとんどのものがオブジェクト
- 6-1-2 クラスはオブジェクトを分類したもの
- 6-1-3 処理もいっしょにまとめてみよう
- 6-1-4 クラス設計の難しさ
- 6-1-5 selfとはオブジェクト自身のこと
6-2 dataclassでデータ格納に特化したクラスを作る
- 6-2-1 dataclassの基本とメリット
- 6-2-2 インスタンス変数にデフォルト値を設定する
- 6-2-3 「==」での比較は値の一致でTrueになる
- 6-2-4 frozen=Trueで変更不可能なオブジェクトを作る
- 6-2-5 asdictで辞書オブジェクトに変換する
6-3 オブジェクト指向を正しく理解する
- 6-3-1 オブジェクトを使う=オブジェクト指向ではない
- 6-3-2 カプセル化
- 6-3-3 継承
- 6-3-4 ポリモーフィズム
第7章 バグがあるかも? テストコードを書こう!
7-1 テストコードとはなにか?
- 7-1-1 アプリケーション開発におけるテストとは?
- 7-1-2 テストコードを書くメリット
7-2 pytestを使ってテストコードを書いてみよう
- 7-2-1 pytestの使いかた
- 7-2-2 fixtureを使って事前処理・事後処理を追加
- 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-4 AIを活用しよう
8-2 YouTubeの質問で多いエラー
- 8-2-1 未定義のオブジェクトへのアクセス
- 8-2-2 未インストールのライブラリ使用
- 8-2-3 モジュールと同一名のファイル
- 8-2-4 パスの指定誤り
巻末付録 厳選! プログラミング学習に役立つサービス
この本に関連する書籍
-
Pythonでチャレンジするプログラミング入門 ――もう挫折しない!10の壁を越えてプログラマーになろう
プログラミング言語Pythonを使ってプログラミングに挑戦する本です。プログラミング初心者向けの勉強会の運営にかかわっている著者ふたりが,そこで学んだ初心者がつま...