You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
788 lines
58 KiB
HTML
788 lines
58 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ja">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="x-ua-compatible" value="ie=edge">
|
|
<meta name="viewport" value="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<title>O'Reilly Japan - Head First はじめてのプログラミング</title>
|
|
<link rel="stylesheet" type="text/css" href="/assets/css/font-face.css">
|
|
<link rel="stylesheet" type="text/css" href="/assets/css/layout.css">
|
|
<link rel="stylesheet" type="text/css" href="/assets/css/layout-books.css">
|
|
<link rel="icon" type="image/png" href="https://www.oreilly.com/favicon.ico">
|
|
|
|
<meta name="format-detection" value="telephone=no">
|
|
<meta value="Head First はじめてのプログラミング" name="og:title">
|
|
<meta value="article" name="og:type">
|
|
<meta value="https://www.oreilly.co.jp/books/images/picture978-4-87311-874-1.gif" name="og:image">
|
|
<meta value="https://www.oreilly.co.jp/books/images/picture_large978-4-87311-874-1.jpeg" name="og:image:secure_url">
|
|
<meta value="https://www.oreilly.co.jp/books/9784873118741/" name="og:url">
|
|
<meta name="twitter:card" value="summary">
|
|
<meta name="twitter:site" value="O'Reilly Japan">
|
|
<meta name="twitter:creator" value="oreilly_japan">
|
|
<link href="http://www.oreilly.co.jp/sales/atom.xml" type="application/atom+xml" rel="alternate" title="Sales Information">
|
|
<meta value="脳の働きに注目し、脳を活性化させる学習効果の高い独自のスタイルで人気の高いHead Firstシリーズにプログラミング初心者向けバージョンが登場。Pythonを使ったプログラミングの基本について、イラストや写真を多用して直感的な理解を促します。やさしい切り口ながらも、データ型、データ構造、抽象化、再帰、モジュールなど、プログラミングの基本を段階的に学び、後半では複雑で大規模なアプリケーションの作成にも取り組みます。認知科学と教育心理学に基づいたアプローチで、プログラミングのテクニックだけではなく、論理的思考やプログラミング的な考え方を、楽しみながら身に付けられるように工夫されています。
|
|
|
|
無料 お試し版" name="og:description">
|
|
<link rel="canonical" href="https://www.oreilly.co.jp//books/9784873118741/">
|
|
<link rel="amphtml" href="https://www.oreilly.co.jp//books/9784873118741/mobile.html">
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<div id="skipToMain" class="nav__SkipToMain"><a href="#maincontent">Skip to main content</a></div>
|
|
|
|
<header role="banner" class="nav__GlboalHeader">
|
|
<div class="pageWidth">
|
|
<nav role="navigation" aria-label="site sections" class="nav__GlobalNav">
|
|
<a aria-current="page" title="Go to home page" class="nav__Logo" href="/"><img src="/assets/images/logo_oreilly_japan.svg" alt="O'Reilly logo"></a>
|
|
<div class="nav__NavItems" id="nav__NavItems">
|
|
<div class="nav__NavGroup">
|
|
<a class="nav__Link" href="/blog/">Blog</a>
|
|
<a class="nav__Link active" href="/books/">Books</a>
|
|
<a class="nav__Link" href="/ebook/">Ebooks</a>
|
|
<a class="nav__Link" href="/online-learning/">Learning platform</a>
|
|
<a class="nav__Link" href="/order/">Order</a>
|
|
<a class="nav__Link" href="/company/">About</a>
|
|
</div>
|
|
<div class="nav__CTA">
|
|
<a href="/app/cart" class="nav__Cart">Cart</a>
|
|
</div>
|
|
</div>
|
|
<button id="nav__MobileBtn" aria-expanded="false" aria-controls="menuList" class="nav__MobileBtn"><span><span></span></span></button>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
|
|
<main id="maincontent">
|
|
<div class="pageWidth">
|
|
<h1 itemprop="name">Head First はじめてのプログラミング</h1>
|
|
<span itemprop="publisher" content="オライリー・ジャパン"></span>
|
|
<div class="contributers">
|
|
<span itemprop="author">Eric Freeman 著、嶋田 健志 監訳、木下 哲也 訳</span>
|
|
</div>
|
|
|
|
<section class="detail" itemscope="" itemtype="http://schema.org/Book">
|
|
<div class="detail-cover">
|
|
<img src="https://www.oreilly.co.jp/books/images/picture_large978-4-87311-874-1.jpeg" class="cover-photo" alt="[cover photo]">
|
|
</div>
|
|
|
|
<dl class="item-props">
|
|
<dt>TOPICS</dt>
|
|
<dd>
|
|
|
|
<a href="/books/hf/">Head First</a>
|
|
,
|
|
<a href="/books/prog/">Programming</a>
|
|
,
|
|
<a href="/books/python/">Python</a>
|
|
|
|
</dd>
|
|
|
|
<dt>発行年月日</dt>
|
|
|
|
<dd itemprop="datePublished" content="2019-04-26">2019年04月</dd>
|
|
|
|
|
|
|
|
<dt>PRINT LENGTH</dt>
|
|
<dd itemprop="numberOfPages">636</dd>
|
|
|
|
|
|
<dt>ISBN</dt>
|
|
<dd itemprop="isbn">978-4-87311-874-1</dd>
|
|
|
|
|
|
<dt>原書</dt>
|
|
<dd><a href="http://shop.oreilly.com/product/0636920051114.do">Head First Learn to Code</a></dd>
|
|
|
|
|
|
<dt>FORMAT</dt>
|
|
<dd>
|
|
Print PDF
|
|
|
|
<div class="buying-options">
|
|
|
|
<div class="option-item">
|
|
<div class="option-name">Ebook</div>
|
|
<div>
|
|
2,640円
|
|
</div>
|
|
<a href="/ebook/cart?id=978-4-87311-874-1&mode=add" class="update-button secondary-button">
|
|
Ebookを購入する
|
|
</a>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="option-item">
|
|
<div class="option-name">Print</div>
|
|
<div>3,300円</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</dd>
|
|
</dl>
|
|
|
|
<div id="detail" class="content">
|
|
<p itemprop="description">脳の働きに注目し、脳を活性化させる学習効果の高い独自のスタイルで人気の高いHead Firstシリーズにプログラミング初心者向けバージョンが登場。Pythonを使ったプログラミングの基本について、イラストや写真を多用して直感的な理解を促します。やさしい切り口ながらも、データ型、データ構造、抽象化、再帰、モジュールなど、プログラミングの基本を段階的に学び、後半では複雑で大規模なアプリケーションの作成にも取り組みます。認知科学と教育心理学に基づいたアプローチで、プログラミングのテクニックだけではなく、論理的思考やプログラミング的な考え方を、楽しみながら身に付けられるように工夫されています。<br>
|
|
<br>
|
|
<a href="https://www.oreilly.co.jp/pub/9784873118741/1874_hf_learn_to_code_free.pdf">無料 お試し版</a><br></p>
|
|
</div>
|
|
|
|
|
|
<h2 class="collapsible">関連ファイル</h2>
|
|
<section>
|
|
<ul>
|
|
|
|
<li><a href="https://www.oreilly.co.jp/pub/9784873118741/sample-code.zip">サンプルコード</a></li>
|
|
|
|
</ul>
|
|
</section>
|
|
|
|
|
|
|
|
<h2 class="collapsible">正誤表</h2>
|
|
<section>
|
|
<p>ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。</p>
|
|
|
|
<h3>第1刷正誤表</h3>
|
|
<div class="errata">
|
|
<h4><a id="h-0-0-1"></a>第1刷正誤表</h4>
|
|
<p class="noindent">2019年12月17日更新<br></p>
|
|
|
|
<h4><a id="h-0-0-2"></a>p.7、何て言う?の右側3項目目</h4>
|
|
<p class="noindent">【誤】<br>パン、ミルク、卵といった食料品の<font color="red">覧</font>。<br></p>
|
|
<p class="noindent">【正】<br>パン、ミルク、卵といった食料品の<font color="red">一覧</font>。</p>
|
|
|
|
<h4><a id="h-0-0-2"></a>p.55、脳力発揮の答え</h4>
|
|
<p class="noindent">【誤】<br>答え:C。<font color="red">構文</font>エラーや実行時エラーは起こっていない。<br></p>
|
|
<p class="noindent">【正】<br>答え:C。<font color="red">シンタックス</font>エラーや実行時エラーは起こっていない。</p>
|
|
|
|
<h4><a id="h-0-0-2"></a>p.58、下の浮動小数点の中の枠内の数字</h4>
|
|
<p class="noindent">【誤】<br><code class="tt">10.3<font color="red">+e</font>4     -4.<font color="red">e</font>10</code><br></p>
|
|
<p class="noindent">【正】<br><code class="tt">10.3<font color="red">e+</font>4     -4.<font color="red">e-</font>10</code></p>
|
|
|
|
|
|
<h4><a id="h-0-0-1"></a>p69、コードブロック下から3行目と2行目</h4>
|
|
<p class="noindent">【誤】</p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist">passcode = passcode + ' ' passcodeは「The red <font color="red">fox」</font>
|
|
passcode = passcode + word6 <font color="red">password</font>は「The red fox trots」
|
|
print(passcode)
|
|
</pre>
|
|
</div>
|
|
<p class="noindent">【正】</p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist">passcode = passcode + ' ' passcodeは「The red <font color="red">fox 」</font>
|
|
passcode = passcode + word6 <font color="red">passcode</font>は「The red fox trots」
|
|
print(passcode)
|
|
</pre>
|
|
</div>
|
|
|
|
<h4><a id="h-0-0-2"></a>p.122、上のエクササイズの答えのコード、4行目</h4>
|
|
<p class="noindent">【誤】<br><code class="tt">while guess<font color="red">!</font> color</code><br></p>
|
|
<p class="noindent">【正】<br><code class="tt">while guess <font color="red">!=</font> color</code></p>
|
|
|
|
<h4><a id="h-0-0-2"></a>p.142、一番下のコップの文字</h4>
|
|
<p class="noindent">【誤】<br>smoothie<br></p>
|
|
<p class="noindent">【正】<br>smoothie<font color="red">s</font></p>
|
|
|
|
<h4><a id="h-0-0-3"></a>p.213、エクササイズのコード、7行目</h4>
|
|
<p class="noindent">【誤】<br><code class="tt">recipe = recipe + <font color="red">''</font>a banana and '</code><br></p>
|
|
<p class="noindent">【正】<br><code class="tt">recipe = recipe + <font color="red">'</font>a banana and '</code></p>
|
|
|
|
<h4><a id="h-0-0-4"></a>p.222、エクササイズの答えのコード、7行目</h4>
|
|
<p class="noindent">【誤】<br><code class="tt">recipe = recipe + <font color="red">''</font>a banana and '</code><br></p>
|
|
<p class="noindent">【正】<br><code class="tt">recipe = recipe + <font color="red">'</font>a banana and '</code></p>
|
|
|
|
<h4><a id="h-0-0-5"></a>p.239</h4>
|
|
<p class="noindent">【誤】<br>もちろん、まだ終わりではありません。<font color="red">頭の体操、重要ポイント、クロスワード</font>が残っています。</p>
|
|
<p class="noindent">【正】<br>もちろん、まだ終わりではありません。<font color="red">重要ポイントと練習問題</font>が残っています。</p>
|
|
|
|
<h4><a id="h-0-0-6"></a>p.249、擬似コード後半</h4>
|
|
<p class="noindent">【誤】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight"> IF score >= 90.0:
|
|
PRINT 'Reading level of 5th Grade'
|
|
ELIF <font color="red">scores</font> >= 80.0:
|
|
PRINT 'Reading level of 6th Grade'
|
|
ELIF <font color="red">scores</font> >= 70.0:
|
|
PRINT 'Reading level of 7th Grade'
|
|
ELIF <font color="red">scores</font> >= 60.0:
|
|
PRINT 'Reading level of 8-9th Grade'
|
|
ELIF <font color="red">scores</font> >= 50.0:
|
|
PRINT 'Reading level of 10-12th Grade'
|
|
ELIF <font color="red">scores</font> >= 30.0:
|
|
PRINT 'Reading level of College Student'
|
|
ELSE:
|
|
PRINT 'Reading level of College Graduate'
|
|
</pre>
|
|
</div>
|
|
<p class="noindent">【正】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight"> IF score >= 90.0:
|
|
PRINT 'Reading level of 5th Grade'
|
|
ELIF <font color="red">score</font> >= 80.0:
|
|
PRINT 'Reading level of 6th Grade'
|
|
ELIF <font color="red">score</font> >= 70.0:
|
|
PRINT 'Reading level of 7th Grade'
|
|
ELIF <font color="red">score</font> >= 60.0:
|
|
PRINT 'Reading level of 8-9th Grade'
|
|
ELIF <font color="red">score</font> >= 50.0:
|
|
PRINT 'Reading level of 10-12th Grade'
|
|
ELIF <font color="red">score</font> >= 30.0:
|
|
PRINT 'Reading level of College Student'
|
|
ELSE:
|
|
PRINT 'Reading level of College Graduate'
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<h4><a id="h-0-0-2"></a>p271、コードブロック網掛け部分</h4>
|
|
<p class="noindent">【誤】</p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist">if len(word) <= 3:
|
|
return 1
|
|
vowels = "aeiouAEIOU"
|
|
prev_char_was_vowel = False
|
|
<font color="red">for char in word:</font>
|
|
if char in vowels:
|
|
if not prev_char_was_vowel:
|
|
count = count + 1
|
|
prev_char_was_vowel = True
|
|
else:
|
|
prev_char_was_vowel = False
|
|
</pre>
|
|
</div>
|
|
<p class="noindent">【正】</p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist">if len(word) <= 3:
|
|
return 1
|
|
vowels = "aeiouAEIOU"
|
|
prev_char_was_vowel = False
|
|
<font color="red">for char in word:</font>
|
|
if char in vowels:
|
|
if not prev_char_was_vowel:
|
|
count = count + 1
|
|
prev_char_was_vowel = True
|
|
else:
|
|
prev_char_was_vowel = False
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<h4><a id="h-0-0-7"></a>p.279、擬似コード</h4>
|
|
<p class="noindent">【誤】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight"> IF score >= 90.0:
|
|
PRINT 'Reading level of 5th Grade'
|
|
ELIF <font color="red">scores</font> >= 80.0:
|
|
PRINT 'Reading level of 6th Grade'
|
|
ELIF <font color="red">scores</font> >= 70.0:
|
|
PRINT 'Reading level of 7th Grade'
|
|
ELIF <font color="red">scores</font> >= 60.0:
|
|
PRINT 'Reading level of 8-9th Grade'
|
|
ELIF <font color="red">scores</font> >= 50.0:
|
|
PRINT 'Reading level of 10-12th Grade'
|
|
ELIF <font color="red">scores</font> >= 30.0:
|
|
PRINT 'Reading level of College Student'
|
|
ELSE:
|
|
PRINT 'Reading level of College Graduate'
|
|
</pre>
|
|
</div>
|
|
<p class="noindent">【正】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight"> IF score >= 90.0:
|
|
PRINT 'Reading level of 5th Grade'
|
|
ELIF <font color="red">score</font> >= 80.0:
|
|
PRINT 'Reading level of 6th Grade'
|
|
ELIF <font color="red">score</font> >= 70.0:
|
|
PRINT 'Reading level of 7th Grade'
|
|
ELIF <font color="red">score</font> >= 60.0:
|
|
PRINT 'Reading level of 8-9th Grade'
|
|
ELIF <font color="red">score</font> >= 50.0:
|
|
PRINT 'Reading level of 10-12th Grade'
|
|
ELIF <font color="red">score</font> >= 30.0:
|
|
PRINT 'Reading level of College Student'
|
|
ELSE:
|
|
PRINT 'Reading level of College Graduate'
|
|
</pre>
|
|
</div>
|
|
|
|
<h4><a id="h-0-0-3"></a>p320、一番上のShellウィンドウ</h4>
|
|
<p class="noindent">【誤】</p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist">['<font color="red">second</font>', '<font color="red">first</font>']
|
|
>>>
|
|
</pre>
|
|
</div>
|
|
<p class="noindent">【正】</p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist">['<font color="red">2番</font>', '<font color="red">1番</font>']
|
|
>>>
|
|
</pre>
|
|
</div>
|
|
|
|
<h4><a id="h-0-0-8"></a>p.368、下から2番目のコード片</h4>
|
|
<p class="noindent">【誤】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight">users = {}
|
|
users['Kim'] = attribute
|
|
</pre>
|
|
</div>
|
|
<p class="noindent">【正】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight">users = {}
|
|
users['Kim'] = attribute<font color="red">s</font>
|
|
</pre>
|
|
</div>
|
|
|
|
<h4><a id="h-0-0-4"></a>p448、❷、3行目</h4>
|
|
<p class="noindent">【誤】<br>オブジェクト<font color="red">にを</font>生成して返します。<br>【正】<br>オブジェクト<font color="red">を</font>生成して返します。</p>
|
|
|
|
|
|
<h4><a id="h-0-0-9"></a>p.450、下部のコード</h4>
|
|
<p class="noindent">【誤】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight">import json
|
|
|
|
json_string = '{"frst": "Emmett", "last": "Brown", "<font color="red">prefx</font>": "Dr."}'
|
|
|
|
name = json.loads(json_string)
|
|
|
|
print(name['<font color="red">prefx</font>'], name['frst'], name['last'])
|
|
</pre>
|
|
</div>
|
|
<p class="noindent">【正】<br></p>
|
|
<div class="emlist-code">
|
|
<pre class="emlist highlight">import json
|
|
|
|
json_string = '{"frst": "Emmett", "last": "Brown", "<font color="red">prefix</font>": "Dr."}'
|
|
|
|
name = json.loads(json_string)
|
|
|
|
print(name['<font color="red">prefix</font>'], name['frst'], name['last'])
|
|
</pre>
|
|
</div>
|
|
|
|
|
|
<h4><a id="h-0-0-5"></a>p469、左下の説明(隣接するセルの数=3の説明)</h4>
|
|
<p class="noindent">【誤】<br>ルールに従い、死んだセルに隣接する<font color="red">生て</font>いるセルの数が3なので誕生します!<br>【正】<br>ルールに従い、死んだセルに隣接する<font color="red">生きて</font>いるセルの数が3なので誕生します!</p>
|
|
|
|
<h4><a id="h-0-0-6"></a>p526、脳力発揮、2行目</h4>
|
|
<p class="noindent">【誤】<br>オブジェクト<font color="red">して</font>何を選びますか?<br>【正】<br>オブジェクト<font color="red">として</font>何を選びますか?</p>
|
|
|
|
|
|
<h4><a id="h-0-0-10"></a>p.573中央、def walk()のprint文</h4>
|
|
<p class="noindent">【誤】<br><code class="tt">print(self.name, 'says, "I can\'t walk, I<font color="red">'</font>m playing Frisbee!"')</code><br></p>
|
|
<p class="noindent">【正】<br><code class="tt">print(self.name, 'says, "I can\'t walk, I<font color="red">\'</font>m playing Frisbee!"')</code><br></p>
|
|
|
|
</div>
|
|
|
|
</section>
|
|
|
|
|
|
<h2 class="collapsible">目次</h2>
|
|
<section>
|
|
<div id="toc">
|
|
<pre>はじめに
|
|
|
|
1章 コンピュータ的に考える:始めよう
|
|
分解する
|
|
コーディングの手順
|
|
同じ言語で話している?
|
|
プログラミング言語の世界
|
|
Pythonを使ったコードの記述と実行
|
|
Pythonのざっくりした歴史
|
|
Pythonを試す
|
|
作業を保存する
|
|
おめでとう! 最初のPythonプログラムが書けました!
|
|
フレーズ・オ・マチック
|
|
コンピュータにコードを読ませる
|
|
|
|
2章 単純な値、変数、型:値を知る
|
|
犬年齢計算機のコーディング
|
|
擬似コードからPythonのコードに変換する
|
|
手順1:入力してもらう
|
|
input 関数の動作
|
|
ユーザの入力を変数に代入する
|
|
手順2:さらに入力してもらう
|
|
そろそろコードを実行してみよう
|
|
コードの入力
|
|
変数をさらに詳しく学ぶ
|
|
式の追加
|
|
変数が「変」数と呼ばれる理由
|
|
演算子の優先順位をよく理解する
|
|
演算子の優先順位を使った計算
|
|
寄り道をする!
|
|
手順3:犬の年齢を計算する
|
|
ヒューストン、問題が発生した!
|
|
誤りは(人)コードの常
|
|
デバッグをもう少しだけ
|
|
Pythonの型とは?
|
|
コードの修正
|
|
ヒューストン、発射した!
|
|
手順4:ユーザフレンドリーな出力
|
|
|
|
3章 ブール型、判定、ループ:判定コード
|
|
ゲームをしない?
|
|
まずは骨組みの設計
|
|
コンピュータの手
|
|
乱数の使い方
|
|
ブール型って?
|
|
判定する
|
|
判定、そしてまた判定
|
|
じゃんけんに戻る
|
|
ユーザの手を取得する
|
|
ユーザの手を調べる
|
|
あいこを判定するコードを追加する
|
|
誰が勝った?
|
|
ゲームロジックの実装
|
|
ブール演算子の詳細
|
|
説明を入れる
|
|
コードにコメントを追加する
|
|
ゲームを完成させる!
|
|
ユーザの手が無効かどうかをどのように判断する?
|
|
ユーザに尋ね続ける方法
|
|
何度も行う
|
|
while ループの動作
|
|
whileを使って有効な手を選ぶまでユーザに尋ねる方法
|
|
初めてのゲームのコードが書けました。おめでとう!
|
|
|
|
4章 リストと反復:構造を用意する
|
|
バブルザらス社を助けられる?
|
|
Pythonで複数の値を表現する方法
|
|
リストの動作
|
|
ところで、そのリストの大きさって?
|
|
リストの末尾の要素にアクセスする
|
|
Pythonではずっと簡単
|
|
負のインデックスを使う
|
|
一方、バブルザらス社では
|
|
リストを反復処理する
|
|
出力の問題を修正する
|
|
出力の問題を実際に修正する
|
|
for ループ、それはリストの反復処理に最適な方法
|
|
数値の範囲に対するforループの動作
|
|
範囲をもっと使う
|
|
すべてをまとめる
|
|
ゼロからリストを作成する
|
|
リストをさらに使う
|
|
最終レポートの試運転
|
|
最高スコアの溶液は?
|
|
最も費用対効果の高い溶液はどれ?
|
|
|
|
5章 関数と抽象化:関数にする
|
|
このコードのどこがいけないの?
|
|
コードブロックを関数に変換する
|
|
関数が作成できました。さてどう使う?
|
|
実際にはどのように機能しているの?
|
|
関数は結果を返すこともできる
|
|
戻り値のある関数を呼び出す
|
|
少しだけリファクタリングしてみる
|
|
コードの実行
|
|
アバターコードの抽象化方法
|
|
get_attribute 関数の本体を書く
|
|
get_attribute を呼び出す
|
|
変数についてもう少しお話しします
|
|
変数スコープを理解する
|
|
変数が関数に渡されるとき
|
|
drink_me関数を呼び出す
|
|
関数でグローバル変数を使うということ
|
|
パラメータを深く理解する:デフォルト値とキーワード
|
|
デフォルトパラメータ値の使い方
|
|
必ず必須パラメータを最初に指定する!
|
|
キーワード引数を使う
|
|
キーワード引数とデフォルト値について
|
|
|
|
おまけの章 ソートと入れ子の反復:データを整理する
|
|
バブルソートを理解する
|
|
走査1から始める
|
|
バブルソートの擬似コード
|
|
Pythonでバブルソートを実装する
|
|
溶液番号を割り出す
|
|
|
|
6章 テキスト、文字列、ヒューリスティック:すべてを組み合わせる
|
|
データサイエンスにようこそ
|
|
読みやすさはどのように計算する?
|
|
実行計画
|
|
擬似コードを書く
|
|
分析するテキストが必要
|
|
関数を用意する
|
|
優先事項:テキスト内の単語の総数が必要
|
|
文の総数を求める
|
|
関数count_sentencesを書く
|
|
音節の数を求める。つまり、ヒューリスティックを好きになる
|
|
ヒューリスティックの作成
|
|
ヒューリスティックを書く
|
|
母音をカウントする
|
|
連続する母音を無視する
|
|
連続する母音を無視するコードを書く
|
|
末尾のe、y、句読記号を取り除く
|
|
スライス(部分文字列)を利用する
|
|
ヒューリスティックコードを完成させる
|
|
読みやすさ公式の実装
|
|
さらに進める
|
|
|
|
7章 モジュール、メソッド、クラス、オブジェクト:モジュール化する
|
|
簡単なモジュールの復習
|
|
グローバル変数__name__
|
|
オフィスにおける会話の続き
|
|
analyze.py をモジュールとして使う
|
|
analyze.py にdocstringを追加する
|
|
他のPythonモジュールを調べる
|
|
待って、誰か「タートル」って言った?!
|
|
自分だけのタートルを作成する
|
|
タートル研究所
|
|
2つ目のタートルを追加する
|
|
ところで、タートルって?
|
|
オブジェクトって何者?
|
|
わかった。じゃあ、クラスって?
|
|
オブジェクトとクラスの使い方
|
|
メソッドと属性
|
|
クラスとオブジェクトはどこにでもある
|
|
タートルレースの準備をする
|
|
ゲームを設計する
|
|
コーディングを始めよう
|
|
ゲームの準備をする
|
|
セットアップコードを書く
|
|
落ち着いて!
|
|
レースを開始する
|
|
|
|
8章 再帰と辞書:反復とインデックスを超えて
|
|
異なる計算方法
|
|
別の方法を考える
|
|
2つの場合のコードを書く
|
|
さらに練習しよう
|
|
再帰を使って回文を探し出す
|
|
再帰回文検出器を書く
|
|
アンチソーシャルネットワーク
|
|
辞書とは
|
|
辞書を作成する
|
|
キーと値は文字列でなくても大丈夫
|
|
もちろん、キーは削除できる
|
|
まず存在するかどうかを調べる
|
|
辞書の反復処理はどうなる?
|
|
アンチソーシャルネットワークで辞書を活用する
|
|
属性を追加するにはどうすればいい?
|
|
アンチソーシャルネットワークの目玉機能
|
|
最も非社交的なユーザを探す
|
|
関数呼び出しの結果を記憶しておける?
|
|
辞書を使ってフィボナッチ結果を記憶する
|
|
「メモ化」と呼ばれます
|
|
koch関数を詳しく調べる
|
|
コッホフラクタルを本格的に調べる
|
|
|
|
9章 ファイルの保存と取得:永続性
|
|
クレイジーリブを始める準備はいい?
|
|
クレイジーリブの動作
|
|
手順1:ファイルから文章のテキストを読み込む
|
|
ファイルパスの使い方
|
|
絶対パス
|
|
終わったら後片付けを忘れずに!
|
|
ファイルをコードに読み込む
|
|
もう勘弁して
|
|
クレイジーリブゲームを完成させる!
|
|
最終行をどのように判断するの?
|
|
クレイジーリブのテンプレートを読み込む
|
|
テンプレートテキストを処理する
|
|
新たな文字列メソッドを使ってバグを修正する
|
|
実際にバグを修正する
|
|
本当に問題があるコードもある
|
|
例外処理
|
|
明示的に例外を処理する
|
|
例外を処理するようにクレイジーリブを更新する
|
|
最後の手順:クレイジーリブを保存する
|
|
残りのコードを更新する
|
|
|
|
10章 Web API の利用:もっと外に目を向ける
|
|
Web APIを使って範囲を広げる
|
|
Web API の仕組み
|
|
すべてのWeb APIにはWebアドレスがある
|
|
簡単なアップグレードをする
|
|
アップグレードする
|
|
あとは優れたWeb APIが必要なだけ
|
|
API を詳しく調べる
|
|
Web API はJSONを使ってデータを返す
|
|
リクエストモジュールをもう一度詳しく
|
|
全体をまとめる:Open Notifyにリクエストする
|
|
JSONの使い方
|
|
ISSデータにJSONモジュールを使う
|
|
グラフィックスを加える
|
|
Screenオブジェクトを使う
|
|
タートルを追加してISSを描画
|
|
タートルは宇宙ステーションのようにも見える
|
|
ISSを忘れる−どこにいるの?
|
|
ISSのコードを仕上げる
|
|
|
|
11章 ウィジェット、イベント、創発的な振る舞い:インタラクティブにする
|
|
人工生命の不思議な世界へようこそ
|
|
ライフゲームを詳しく調べる
|
|
作成するもの
|
|
設計は適切ですか?
|
|
データモデルの作成
|
|
グリッドを表す
|
|
ライフゲームの世代を計算する
|
|
セルの運命を計算する
|
|
モデルのコードを完成させる
|
|
ビューの作成
|
|
最初のウィジェットを作成する
|
|
残りのウィジェットを追加する
|
|
レイアウトを修正する
|
|
グリッドレイアウトにウィジェットを配置する
|
|
グリッドレイアウトをコードに変換する
|
|
コントローラの作成
|
|
update 関数の追加
|
|
新しい計算方式に取り組む
|
|
開始/ 一時停止ボタンの動作
|
|
別の種類のイベント
|
|
一定間隔で何度も呼び出す方法:afterメソッド
|
|
セルを直接入力する、そして編集する
|
|
grid_viewのハンドラを書く
|
|
パターンを追加する
|
|
オプションメニューのハンドラを書く
|
|
パターンローダを書く
|
|
ライフゲームシミュレータをさらに進化させる!
|
|
|
|
12章 オブジェクト指向プログラミング:オブジェクト村への旅
|
|
別の方法で分割する
|
|
要するにオブジェクト指向プログラミングって?
|
|
クラスを設計する
|
|
最初のクラスを書く
|
|
コンストラクタの動作
|
|
barkメソッドを書く
|
|
メソッドの動作
|
|
継承する
|
|
ServiceDog クラスの実装
|
|
サブクラスとは
|
|
ServiceDog はDog である(IS-A)
|
|
IS-A関係を調べる
|
|
振る舞いのオーバーライドと拡張
|
|
専門用語の街へようこそ
|
|
オブジェクトは別のオブジェクトを含む(HAS-A)
|
|
犬用ホテルの設計
|
|
犬用ホテルの実装
|
|
ホテルでのアクティビティを追加する
|
|
可能なことは何でもできる(ポリモーフィズム)
|
|
他の犬に歩き方を教える
|
|
継承の威力(と役割)
|
|
|
|
付録 未収録事項:(取り上げなかった)上位10 個のトピック
|
|
1. リスト内包表記
|
|
2. 日付と時刻
|
|
3. 正規表現
|
|
4. その他のデータ型:タプル
|
|
5. その他のデータ型:集合
|
|
6. サーバサイドプログラミング
|
|
7. 遅延評価
|
|
8. デコレータ
|
|
9. 高階関数と第一級関数
|
|
10. 多数のライブラリ
|
|
|
|
索引</pre>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
|
|
<div class="related-items">
|
|
<div class="sectionRow__Heading">
|
|
<h3>関連書籍</h3>
|
|
</div>
|
|
|
|
|
|
<div class="sectionRow__Content">
|
|
<div class="sectionRow__BestLarge" id="bestEbooks">
|
|
|
|
|
|
<div class="sectionRow__Best" id="bestEbook1">
|
|
<a class="sectionRow__BestCover" href="/books/9784873118291/">
|
|
<img src="https://www.oreilly.co.jp/books/images/picture_large978-4-87311-829-1.jpeg" alt="Head First Python 第2版">
|
|
</a>
|
|
</div>
|
|
|
|
|
|
<div class="sectionRow__Best hidden" id="bestEbook2">
|
|
<a class="sectionRow__BestCover" href="/books/9784873119762/">
|
|
<img src="https://www.oreilly.co.jp/books/images/picture_large978-4-87311-976-2.jpeg" alt="Head Firstデザインパターン 第2版">
|
|
</a>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="sectionRow__BestThumbnails" id="bestEbookThumbnails">
|
|
|
|
|
|
<button class="sectionRow__bestBookThumbnailsItem" data-for="bestEbook1" aria-selected="true" title="Head First Python 第2版">
|
|
<img src="https://www.oreilly.co.jp/books/images/picture_large978-4-87311-829-1.jpeg" alt="94342520887984">
|
|
</button>
|
|
|
|
|
|
<button class="sectionRow__bestBookThumbnailsItem" data-for="bestEbook2" title="Head Firstデザインパターン 第2版">
|
|
<img src="https://www.oreilly.co.jp/books/images/picture_large978-4-87311-976-2.jpeg" alt="94342521101488">
|
|
</button>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<footer class="footer__FooterSection">
|
|
<div class="pageWidth">
|
|
<div class="footer__FooterTop">
|
|
<div class="footer__List">
|
|
<h3><a href="https://www.oreilly.co.jp/company/">About</a></h3>
|
|
<a href="https://www.oreilly.co.jp/company/">会社概要</a>
|
|
<a href="https://www.oreilly.co.jp/orj/privacypolicy.shtml">個人情報について</a>
|
|
<a href="http://www.oreilly.com/">O’Reilly Media</a>
|
|
<a href="http://makezine.jp/">Make: Japan</a>
|
|
<a href="http://makezine.jp/events">Maker Faire Tokyo</a>
|
|
</div>
|
|
|
|
<div class="footer__List">
|
|
<h3><a href="https://www.oreilly.co.jp/company/">Support</a></h3>
|
|
<a href="https://www.oreilly.co.jp/feedback/">Contact us</a>
|
|
<a href="https://www.oreilly.co.jp/bookclub/">Bookclub</a>
|
|
<a href="https://www.oreilly.co.jp/order/">書籍注文</a>
|
|
</div>
|
|
|
|
<div class="footer__Apps">
|
|
<h3>Download the O’Reilly app</h3>
|
|
|
|
<p>Take O’Reilly with you and learn anywhere, anytime on your phone <span class="nowrap">and tablet.</span></p>
|
|
|
|
<div class="footer__DownloadLinks">
|
|
<a href="https://itunes.apple.com/us/app/safari-to-go/id881697395"><img src="https://cdn.oreillystatic.com/oreilly/images/app-store-logo.png" alt="Apple app store"></a>
|
|
|
|
<a href="https://play.google.com/store/apps/details?id=com.safariflow.queue"><img src="https://cdn.oreillystatic.com/oreilly/images/google-play-logo.png" alt="Google play store"></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer__FooterBase">
|
|
<a aria-current="page" class="footer__Logo" title="Go to home page" href="/"><img src="/assets/images/logo_oreilly_japan.svg" alt="O'Reilly logo"></a>
|
|
<p>© 2022, O’Reilly Japan, Inc. oreilly.co.jpに掲載されているすべてのトレードマークおよび登録商標は、それぞれの所有者に帰属します。</p>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|