Python2年生 デスクトップアプリ開発のしくみ 体験してわかる!会話でまなべる!(森 巧尚)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Python2年生 デスクトップアプリ開発のしくみ 体験してわかる!会話でまなべる!

Python2年生 デスクトップアプリ開発のしくみ 体験してわかる!会話でまなべる!


形式:
書籍
発売日:
ISBN:
9784798174990
定価:
2,420(本体2,200円+税10%)
仕様:
B5変・208ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
紙の書籍

Pythonで
デスクトップアプリ開発を
体験してみよう!

【初心者でもできる!デスクトップアプリ開発を一緒に体験しよう】
Pythonの基礎知識はあるけど、
「アプリ開発って初心者には難しそう」
「プログラムで何か残るものを作ってみたい」
と思っていませんか?
本書はそうした方に向けて、初心者にも簡単に作れる方法を使ってデスクトップアプリ開発の基本をやさしく解説します。スマホアプリ、Webアプリに比べて、手軽に取り組めますので挫折することなく学習できます。本書を読んだあとは、スマホアプリやWebアプリ開発に挑戦してみてください。

【Python2年生について】
「Python2年生」は、「Python1年生」を読み終えた方を対象とした入門書です。ある程度、技術的なことを盛り込み、本書で扱う技術について身につけてもらいます。

『Python2年生 スクレイピングのしくみ』(ISBN:9784798161914)
『Python2年生 データ分析のしくみ』(ISBN:9784798164960)
も刊行されています。

【対象読者】
デスクトップアプリの作り方を知りたい初心者

【本書のポイント】
ヤギ博士&フタバちゃんと一緒に、デスクトップアプリ開発の考え方から丁寧に解説。デスクトップアプリ開発をする時に必要な前提知識からはじまり、デスクトップアプリ作りの基本、応用的なデスクトップアプリ、そしてゲームアプリ開発まで解説します。

【著者プロフィール】
森 巧尚(もり・よしなお)
アプリの開発や、技術書や電子工作マガジンなどでの執筆活動。関西学院大学非常勤講師、関西学院高等部非常勤講師、成安造形大学非常勤講師、プログラミングスクールコプリ講師など、プログラミングに関する幅広い活動を行っている。近著に、『Python1年生 第2版』、『Python3年生機械学習のしくみ』、『Python2年生 スクレイピングのしくみ』、『Python2年生 データ分析のしくみ』、『Java1年生』、『動かして学ぶ!Vue.js開発入門』(いずれも翔泳社)、『楽しく学ぶ アルゴリズムとプログラミングの図鑑』(マイナビ出版)などがある。

画像01

Pythonの基礎知識はあるけど、「アプリ開発って初心者には難しそう」「プログラムで何か残るものを作ってみたい」と思っていませんか?本書はそうした方に向けて、初心者にも簡単に作れる方法を使ってデスクトップアプリ開発の基本をやさしく解説します。スマホアプリ、Webアプリに比べて、手軽に取り組めますので挫折することなく学習できます。本書を読んだあとは、スマホアプリやWebアプリ開発に挑戦してみてください。

画像02
画像03
画像04

基礎知識がわかる

章の冒頭には漫画やイラストを入れて各章でまなぶことに触れています。冒頭以降は、 イラストを織り交ぜつつ、基礎知識について説明しています。

画像05

プログラムのしくみがわかる

必要最低限の文法をピックアップして解説しています。途中で学習がつまずかないよう、会話を主体にして、わかりやすく解説しています。

画像06

開発体験ができる

初めてデスクトップアプリ開発を学ぶ方が、楽しく学習できるように工夫したサンプルを用意しています。

第1章 Pythonでアプリを作ろう
LESSON 01 デスクトップアプリってなに?
LESSON 02 Pythonをインストールしよう
LESSON 03 tkinterでアプリを作ろう
LESSON 04 PySimpleGUIでアプリを作ろう

第2章 アプリ作りの基本
LESSON 05 アプリの作り方を理解しよう
LESSON 06 配色を選べるよ
LESSON 07 レイアウトで画面を作ろう

第3章 計算アプリを作ろう
LESSON 08 変数で文字列を作るなら、f文字列が便利
LESSON 09 割り勘アプリ
LESSON 10 BMI値計算アプリ
LESSON 11 出生の秘密アプリ
LESSON 12 干支調べアプリ

第4章 時計アプリを作ろう
LESSON 13 時間を測ろう
LESSON 14 時計アプリ
LESSON 15 ストップウォッチアプリ
LESSON 16 時間割アプリ

第5章 ファイル操作アプリを作ろう
LESSON 17 ファイルの読み書きをしよう
LESSON 18 テキストエディタアプリ
LESSON 19 画像を表示するアプリ
LESSON 20 画像の加工アプリ
LESSON 21 QRコードメーカーアプリ

第6章 ゲームアプリを作ろう
LESSON 22 おみくじアプリ
LESSON 23 じゃんけんアプリ
LESSON 24 足し算ゲームアプリ
LESSON 25 数当てゲームアプリ
LESSON 26 31ゲームアプリ
LESSON 27 これから先は、どうしたらいいの?

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
  • よくある質問

    Q:PySimpleGUIをインストールしても動作しない
    A:2025年2月27日をもってPySimpleGUIのプロジェクト自体が終了しましたので、FreeSimpleGUIへの移行をお知らせします。

    FreeSimpleGUIは、PySimpleGUIが有料化される前のオープンソースのバージョンを使い、同じ仕様でありつつ無料で自由に利用可能なライブラリです。

    2025年からバージョン1.0と安定したバージョンになりました。確認したところ、全プログラムで問題なく動作しました。

    FreeSimpleGUIライブラリへの移行方法は以下のとおりです。

    1.ライブラリをインストールします。

    ・ライブラリのインストール方法:Windows

    py -m pip install FreeSimpleGUI

    ・ライブラリのインストール方法:macOS

    python3 -m pip install FreeSimpleGUI

    2.プログラムのimport文を修正します。

    ・プログラムの修正方法

    import PySimpleGUI as sg

    import FreeSimpleGUI as sg


現在表示されている正誤表の対象書籍

書籍の種類:紙書籍

書籍の刷数:全刷


※重版をした際に、内容が修正されている場合があります。「刷数の確認方法(例)」の図を参考に、お手元の書籍の刷数をご確認ください。下の「書籍の刷数」の欄で刷数を選択すると、お持ちの書籍の刷数に合わせて、正誤情報を絞り込むことができます。

書籍によっては表記が異なる場合がございます


本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

 書籍の刷数で正誤情報を絞り込みたい場合は選択してください。

 書籍の種類:

最終更新日:2025年03月04日
ページ数 内容 発生刷 書籍修正刷 電子書籍訂正 登録日
004
下から12行目、下から9行目
PySimpleGUIでアプリを作ろう ・・・ PySimpleGUIを使って「こんにちはアプリ」を作ってみよう
FreeSimpleGUIでアプリを作ろう ・・・ FreeSimpleGUIを使って「こんにちはアプリ」を作ってみよう

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
010
上から6行目
pysimplegui:4.60.3
FreeSimpleGUI:5.1.1

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
013
下のヤギ博士の吹き出し、下のウィンドウの上の文字
PySimpleGUIでカラフルな感じにもできるよ PySimpleGUIでアプリを作ろう
FreeSimpleGUIでカラフルな感じにもできるよ FreeSimpleGUIでアプリを作ろう

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
016
上から3行目
PySimpleGUI(パイ・シンプル・ジーユーアイ)
FreeSimpleGUI(フリー・シンプル・ジーユーアイ)

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
028
節見出し、節見出しリード、上から2つ目のヤギ博士の吹き出し、本文下から6行目
・節見出し PySimpleGUIでアプリを作ろう ・節見出しリード PySimpleGUI をインストールして、テストアプリを作ってみましょう。 ・上から2つ目のヤギ博士の吹き出し では、PySimpleGUIライブラリを使ってみよう。PySimpleGUIは… ・本文下から6行目 PySimpleGUIは外部・・・
・節見出し FreeSimpleGUIでアプリを作ろう ・節見出しリード FreeSimpleGUIをインストールして、テストアプリを作ってみましょう。 ・上から2つ目のヤギ博士の吹き出し では、FreeSimpleGUIライブラリを使ってみよう。FreeSimpleGUIは… ・本文下から6行目 FreeSimpleGUIは外部・・・

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
029
柱、手順2、書式・コマンド、コマンドプロンプトの画像
・柱 PySimpleGUIでアプリを作ろう ・手順2 PySimpleGUIをインストールします ・書式・コマンド 書式:PySimpleGUI のインストールコマンド(Windows) py -m pip install pysimplegui ・コマンドプロンプトの画像 py -m pip install pysimplegui
・柱 FreeSimpleGUIでアプリを作ろう ・手順2 FreeSimpleGUIをインストールします PySimpleGUIをインストールします ・書式・コマンド 書式:FreeSimpleGUIのインストールコマンド(Windows) py -m pip install FreeSimpleGUI ・コマンドプロンプトの画像 py -m pip install FreeSimpleGUI

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
030
手順2、上から1つ目の書式・コマンド、ターミナルの画像、ヤギ博士の吹き出し、下から1~3行目、上から2つ目の書式・コマンド
・手順2 PySimpleGUIをインストールします ・上から1つ目の書式・コマンド 書式:PySimpleGUIのインストールコマンド(macOS) python3 -m pip install pysimplegui ・ターミナルの画像 python3 -m pip install pysimplegui ・ヤギ博士の吹き出し …。PySimpleGUIを使って、… ・下から1~3行目 PySimpleGUIを使って「こんにちはアプリ」を作ってみよう PySimpleGUIライブラリを使うので、「import PySimpleGUI as sg」と命令します。これで、PySimpleGUIという長いライブラリ名を「sg」という省略名で扱えるようになります。 ・上から2つ目の書式・コマンド 書式:PySimpleGUI をインポートして、sg という省略名で使う import PySimpleGUI as sg
・手順2 FreeSimpleGUIをインストールします ・上から1つ目の書式、コマンド 書式:FreeSimpleGUIのインストールコマンド(macOS) python3 -m pip install FreeSimpleGUI ・ターミナルの画像 python3 -m pip install FreeSimpleGUI ・ヤギ博士の吹き出し …。FreeSimpleGUIを使って、… ・下から1~3行目 FreeSimpleGUIを使って「こんにちはアプリ」を作ってみよう FreeSimpleGUIライブラリを使うので、「import FreeSimpleGUI as sg」と命令します。これで、FreeSimpleGUIという長いライブラリ名を「sg」という省略名で扱えるようになります。 ・上から2つ目の書式、コマンド 書式:FreeSimpleGUI をインポートして、sg という省略名で使う import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
031
柱、上から1行目、test102.pyのコード1行目
・柱 PySimpleGUIでアプリを作ろう ・上から1行目 以下がPySimpleGUIのテストアプリの・・・ ・test102.pyのコード1行目 import PySimpleGUI as sg
・柱 FreeSimpleGUIでアプリを作ろう ・上から1行目 以下がFreeSimpleGUIのテストアプリの・・・ ・test102.pyのコード1行目 import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
033
PySimpleGUIでアプリを作ろう
FreeSimpleGUIでアプリを作ろう

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
035
PySimpleGUIでアプリを作ろう
FreeSimpleGUIでアプリを作ろう

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
037
PySimpleGUIでアプリを作ろう
FreeSimpleGUIでアプリを作ろう

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
042
リード、ヤギ博士の1つ目の吹き出し、ヤギ博士の3つ目の吹き出し
・リード PySimpleGUI を使ったアプリの作り方の基本や、… ・ヤギ博士の1つ目の吹き出し それでは、PySimpleGUIを使った… ・ヤギ博士の3つ目の吹き出し …だからPySimpleGUIでは、…
・リード FreeSimpleGUI を使ったアプリの作り方の基本や、… ・ヤギ博士の1つ目の吹き出し それでは、FreeSimpleGUIを使った… ・ヤギ博士の3つ目の吹き出し …だからFreeSimpleGUIでは、…

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
044
test201.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
049
ヤギ博士の2つ目の吹き出し
PySimpleGUIには、…
FreeSimpleGUIには、…

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
050
表の見出し
PySimpleGUIの省略形
FreeSimpleGUIの省略形

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
051
test203.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
052
リード、1つ目のフタバちゃんの吹き出し、test204.pyの1行目
・リード PySimpleGUI には、… ・1つ目のフタバちゃんの吹き出し ハカセハカセ。PySimpleGUIは… ・test204.pyの1行目 import PySimpleGUI as sg
・リード FreeSimpleGUI には、… ・1つ目のフタバちゃんの吹き出し ハカセハカセ。FreeSimpleGUIは… ・test204.pyの1行目 import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
056
test205.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
058
test209.py(要素レイアウトテスト)の1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
059
1つ目のヤギ博士の吹き出し
PySimpleGUIは、…
FreeSimpleGUIは、…

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
060
test210.py(文字列レイアウトテスト)の1行目
・test210.py(文字列レイアウトテスト)の1行目 import PySimpleGUI as sg ・1つ目のフタバちゃんの吹き出し PySimpleGUIの部品って…
・test210.py(文字列レイアウトテスト)の1行目 import FreeSimpleGUI as sg ・1つ目のフタバちゃんの吹き出し FreeSimpleGUIの部品って…

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
062
test211.py(いろいろな部品テスト)の1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
078
warikan.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
083
bmi.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
088
birth.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
093
eto.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
105
test405.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
107
clock1.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
114
stopwatch.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
114
上から2から3行目
ボタンは真ん中にあったほうが押しやすいので左右に「pg.Push()」を追加しましょう。pg.Push()が左右にあると
ボタンは真ん中にあったほうが押しやすいので左右に「sg.Push()」を追加しましょう。sg.Push()が左右にあると
1刷 2023.08.14
118
timetable.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
130
上から3つ目のヤギ博士の吹き出し、test504.pyの1行目
・上から3つ目のヤギ博士の吹き出し でもこういうよくあるしくみは、PySimpleGUIに・・・ ・test504.pyの1行目 import PySimpleGUI as sg
・上から3つ目のヤギ博士の吹き出し でもこういうよくあるしくみは、FreeSimpleGUIに・・・ ・test504.pyの1行目 import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
132
test505.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
134
loadtext.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
140
texteditor.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
146
loadimage.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
151
monoimage.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
158
qrmaker.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
166
omikuji.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
173
janken.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
182
tashizan.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
183
tashizan.py(183ページの上から11行目、12行目)のインデント
    global playflag
    if v["in1"].isdecimal() == False:
        win["txt2"].update("数字を入力してね。")
    else:
        mynum = int(v["in1"])
        if mynum == ans:
            win["txt2"].update("正解で~す!")
            win["txt1"].update("入力ボタンを押すと、次の問題が出るよ。")
            win["img"].update("futaba2.png")
            playflag = False
    else:
        win["txt2"].update(f"{mynum}じゃないよ。")
    global playflag
    if v["in1"].isdecimal() == False:
        win["txt2"].update("数字を入力してね。")
    else:
        mynum = int(v["in1"])
        if mynum == ans:
            win["txt2"].update("正解で~す!")
            win["txt1"].update("入力ボタンを押すと、次の問題が出るよ。")
            win["img"].update("futaba2.png")
            playflag = False
        else:
            win["txt2"].update(f"{mynum}じゃないよ。")
1刷 2刷 2023.02.10
190
kazuate.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
197
test607.py
def com_turn(comnum):
    keynums = [2,6,10,14,18,22,26,30]
    getnextnums(comnum)
    for n in nextnums:
def com_turn(comnum):
    keynums = [2,6,10,14,18,22,26,30]
    getnextnums(comnum)
    comnum += 1
    for n in nextnums:
1刷 2刷 2023.03.06
200
31game.pyの1行目
import PySimpleGUI as sg
import FreeSimpleGUI as sg

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04
201
31game.py
def com_turn(comnum):
    keynums = [2,6,10,14,18,22,26,30]
    getnextnums(comnum)
    for n in nextnums:
def com_turn(comnum):
    keynums = [2,6,10,14,18,22,26,30]
    getnextnums(comnum)
    comnum += 1
    for n in nextnums:
1刷 2刷 2023.03.06
206
Pカテゴリの上から3~4行目
PySimpleGUI・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 28, 42 PySimpleGUIの省略形・・・・・・・・・・・・・・・・・・・・・・・・ 50
FreeSimpleGUI・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 28, 42 FreeSimpleGUIの省略形・・・・・・・・・・・・・・・・・・・・・・・・ 50

PySimpleGUIからFreeSimpleGUIへの移行のため。
1刷 2025.03.04