こんにちは、ウチダです。
私は趣味でプログラミング言語pythonを勉強しています。
投資の分析や仕事の自動化に活用しています。
大規模なアプリ開発やエンジニア転職は目指していませんが、投資や仕事でもっと成果を挙げたいと考えています。
そこで、こちらの本を読んでいます。

この本は、pythonを仕事に活かせるように、実用的なプログラミングが学べる一冊です。
WordやExcel、PDFの操作だけでなく、メールやSMSの送受信、画像処理なども身につけられます。
単なる解説本ではなく、学習問題がついているので、スキルに定着しやすいと思います。
今回はpythonの学習問題を解いて、解説しました。
pythonの学習の一助になると幸いです。
第1章:Pythonプログラミングの基礎

なぜ仕事にプログラミングが必要かというと
ずばり人間にしかできない仕事に時間を多く割り当てるためです。
業務を分析して、自動化できる作業はプログラミングで処理します。
そうすると生産性も高まりますし、人間として仕事のやりがいも大きくなると思います。
仕事に役立つプログラミングを学ぶなら、Pythonがおすすめです。
プログラミング言語Pythonはコードが非常にシンプルで、誰もが簡単にプログラムを作れます。
また、ツールも無料で取得でき、ネットにもコードが多数掲載されています。
Pythonは初心者こそおすすめのプログラミング言語なんです。
ただ、実用書を読むだけでは理解も難しいですよね。
そこで演習を通して、専門語や使い方を覚えていけたらきっと楽しいと思います。
今回は第1章Python入門を解いてきましょう!
python学習1:演算子と値を理解しよう
'''
次のうち、どれが演算子で、どれが値ですか?
*
'hello'
-88.8
-
/
+
5
'''
まずはプログラミングの書き方を覚えます。
演算子は+や-、*などの数学の計算に用いる記号です。
演習では、*(掛け算)、-(引き算)、/(割り算)、+(足し算)が演算子に成ります。
エクセルの計算式と同じものと違うものがあるので、使いながら覚えるのがベストです。
値は数字だけでなく、文字も含まれます。
演習では、文字の'hello'、数字の-88.8、5が値です。
python学習2:変数と文字列を理解しよう
'''
次のうち、どちらが変数で、どちらが文字列ですか?
spam
'spam'
'''
pythonのプログラムは、文字列(str型)を入力できます。
文字列はpythonが始まりと終わりを認識できるように、'(シングルクォート)や"(ダブルクォート)で囲んで使います。
演習では'spam'が文字列になります。
一方、変数は'(シングルクォート)や"(ダブルクォート)を使いません。
演習ではspamが変数です。
変数には文字列や数字などを入れることができ、箱のような役割をします。
例えば、中学数学ではx=10と書くと、xに10を代入すると教わりますよね。
これはxを変数として扱っています。
pythonも同様に、変数=値にすることで、文字列や数字を代入できます。
python学習3:データ型を理解しよう
'''
データ型を3つ挙げなさい。
'''
この演習では値のカテゴリー、つまりデータ型を問われています。
データ型には整数、浮動小数点数、文字列があります。
- 整数(int)は、-2,-1,0,10,1000などの値です。
- 浮動小数点数(float)は、-1.25,-1.0000,0.0,1.25などの値です。
- 文字列(str)は、'cat', 'Hello', "pepsi"など、'(シングルクォート)や"(ダブルクォート)で囲まれた値です。
python学習4:式の構成を理解しよう
'''
式は何から構成されていますか?
式を評価するとどうなりますか?
'''
算数は4+6=10のように、式は値と演算子からなります。
pythonも同様で、式は値と演算子からなります。
式を処理することは評価と呼びます。
値には数字だけでなく、文字列も処理するためです。
式を評価すると1つの値になります。
2+2=4と同じです。
文字列の評価は、'spam'+'ham'='spamham'のように、数字と同様の評価ができます。
こちらも評価した結果は1つの値になっています。
python学習5:式と文の違いを理解しよう
'''
式と文の違いは何でしょうか?
'''
次の式を評価するとどうなるでしょう?
'Bob' * 3
値は文字列と整数があり、演算子は*です。
正解は'Bob'が3つ連結します。これは1つの値です。
'BobBobBob'
つまり式は評価すると1つの値を返します。
一方、文はそうではありません。
演習の解は、評価すると1つの値を返すものが式、そうでないものは文です。
python学習6:代入文を理解しよう
'''
次のコードを実行すると、変数baconには何が格納されますか?
bacon = 20
bacon + 1
'''
評価すると21が表示されます。
baconには21が格納される・・・のは間違いです。
なぜなら、代入文はbacon=20だけであり、bacon+1はただの式です。
正解は20になります。
もしbaconに21を入れるなら、bacon += 1と書きます。

python学習7:式の評価を理解しよう
'''
次の2つの式を評価すると何になりますか?
'spam' + 'spamspam'
'spam' * 3
'''
文字列の足し算では、その文字列同士を結合させます。
つまり'spam' + 'spamspam'の評価結果は'spamspamspam'です。
次に'spam' * 3ですが、掛け算の意味は足し算の簡略化ですよね。
例えば、3*4は、3+3+3+3という足し算を別の表現で表したものです。
つまり'spam' * 3は、'spam'+'spam'+'spam'と同義であり、答えは'spamspamspam'です。
2つの式を評価すると、どちらも'spamspamspam'でした。
python学習8:変数名の付け方を理解しよう
'''
eggsは正しい変数名であり
100は間違った変数名である理由は何ですか?
'''
中学数学でも変数名にはルールがあったと思います。
例えば100Xは変数名にできません。
100*Xと区別ができないためです。
同様に、pythonの変数名にもルールがあります。
- ひとつながりの語であること
- 文字と数字と下線記号_のみを用いていること
- 数字から始まらないこと
演習ではeggsは3つのルールを満たします。
しかし、100はルール3を満たさないため、変数名にできません。
_100やx100なら使えます。
python学習9:データ型の変換を理解しよう
'''
ある値を整数、浮動小数点数、文字列にそれぞれ変換するのに
用いる関数は何ですか?
'''
以下の式は成り立つでしょうか?
'私は' + 26 + '歳です'
実は成り立ちません。文字列と整数は連結できないためです。
エラーを解消するには、26を整数から文字列に変換する必要があります。
変換に使用するのは以下の関数です。
- int(値):値を整数に変換する。
- float(値):値を浮動小数点数に変換する。
- str(値):値を文字列に変換する。
上記の例だと、'私は' + str(26) + '歳です'に直すと成り立ちます。
python学習10:データ型の変換を理解しよう
'''
次の式がエラーになる理由は何ですか?
どうしたら修正できますか?
'I have eaten' + 99 + 'burritos'
'''
学習9の解説と同様です。
文字列と整数は連結できないためです。
'I have eaten' + str(99) + 'burritos'に修正します。
python学習11:組み込み関数を理解しよう
'''
Pythonのオンラインドキュメントからlen()関数を探しなさい。
「組み込み関数」というタイトルのページが見つかるはずですが、
そこから他のPythonの組み込み関数を抽出し、round()関数の働きを調べ、
インタラクティブシェルに入力して試しなさい。
'''
まずPythonのオンラインドキュメントを開きます。
(参考:Pythonオンラインドキュメント)

総合索引を開きます。

len()関数はLで検索して、探します。len()関数を表示した結果はこちら。

次にround()関数を調べます。

そしてインタラクティブシェルに入力して試します。
私はJupyter Notebookを使っているので、こちらで入力します。

これで第1章の学習は終わりです。
単に本を読むより、演習を通して学ぶほうが楽しく感じませんか?
もっと詳しく勉強したい方はこちらの本をおすすめします。
次回は第2章を解説します。
ここまで読んでくださりありがとうございました。
★Pythonを活用した記事