2週間でAIを触れる! Python講座 基礎 [変数&演算子編]

2019年11月27日2週間でAIを触れるようになる!Python講座

目標

変数を使えるようになる.
演算子を使って,計算ができるようになる.
複合演算子を使ってコードを分かりやすく,書き換えられるようになる.

演算子

演算子とは計算するときに使う「+」や「=」のような記号のことです.
Pythonの演算子は以下のようなものがあります.

演算子 説明
+ 足し算をする
引き算をする
* かけ算をする
/ 割り算をする
% 剰余(割り算のあまり)を求める
** 累乗をする

では実際にコードを書いて使ってみましょう.
自分が環境構築編でインストールした,テキストエディタを開いてください.
まずは基本の四則演算です.
以下のコードをテキストエディタに打ち込んで,ホームディレクトリに「Python」というフォルダを作りoperations.pyという名前で保存しましょう.
これから出てくるPythonのプログラムは,適当な名前を付けて「Python」に保存しましょう.

print(1 + 1)
print(3 - 2)
print(4 * 3)
print(8 / 2)

保存したら,実行してみましょう.
ターミナルを開いてください.
そして

cd Python

return

python operations.py

returnで実行できます.
1つめのcdコマンドは場所を移動するコマンドです.
ファインダー(エクスプローラー)でフォルダのアイコンをクリックして,場所を移動しているのと同じことをしています.
そして,2つめのコマンドでoperations.pyを実行しています.
python の後にパイソンファイルの名前を入れると,そのパイソンファイルを実行します.
ただし,自分がいる場所(カレントディレクトリ)のファイルしか実行できません.
実行すると

2
1
12
4.0

と表示されるはずです.
8÷2が4.0となってしまう理由は後ほど説明します.
ちなみに,計算の優先順位は数学と一緒です.
以下のコードを実行してもらえば,確認できます.

print(5 + 5 * 3)
print((5 + 5) * 3)

実行すると

20
30

となるはずです.
ちなみに,コードを読みやすくするために,演算子の両端にはスペースをいれましょう.
次に剰余と累乗を使ってみましょう.
剰余とはあまりを求めることです.つまり,11÷3=3あまり2の2を求めるとこです.
これはその数がある数の倍数であるか調べるときに使ったりします.
では,コードを書いて実行してみましょう.

print(2 ** 10)
print(12 % 3)
print(14 % 3)

実行すると

1024
0
2

となるはずです.
12を3で割ったあまりが0なので12は3の倍数だということがわかりますし,14を3で割ったあまりが0でないので3の倍数ではないこともわかります.
じつは文字列同士もたし算することができます.
実際にやってみましょう.

print("Hello," + "World")

これを実行すると

Hello,World

と表示されるはずです.
「Hello,」と「World」を”(ダブルクウォーテーション)で囲んでいるのは,Pythonで文字列を扱うときには”もしくは'(シングルクウォーテーション)で囲むという決まりがあるからです.
“もしくは’で囲まれた文字列は,全角の日本語を使っても大丈夫です.
これで,演算子の使い方がわかったと思います.
Pythonの演算子はこれ以外にも,論理演算子などがありますが,それは後に必要になったときにやります.

変数

変数とは,数学の問題を解く時に使うxやyのような文字のことです.
数学で使う変数には数字しか入りませんが,プログラムで使う変数は文字列なども入れることが出来ます.
数学で文字を使うときに,断りが必要なように,変数を使うには,変数の宣言が必要です.
変数は

変数名 = データ

の様にして宣言します.
先ほど演算子のところで説明してませんでしたが,=は両辺が等しいことを表すのではないです.
=は代入演算子といって,右のものを左に代入する演算子です.
では「Hello,World」を変数を使ってやってみましょう.

hello = "Hello,World"
print(hello)

実行すると,

Hello,World

と表示されるはずです.
1行目でhelloという変数にHello,Worldという文字列を代入し,2行目で,helloという変数を表示させています.
2行目のprintの後ろの()の中のhelloを”で囲んでいないのは,helloが変数名だからです.
ちなみに,関数の後ろの()にいれるもののことを引数(ひきすう)といいます.
次に,先ほどやった,計算を変数を使ってやってみましょう.

a = 4
b = 3
c = a * b
print(c)

実行すると

12

と表示されるはずです.
演算子のところで,説明を飛ばしていましたが,
これで変数の扱い方が,わかりましたよね?
では「4 × 3 = 12」の様に,数式を表示して,その後ろに計算結果を表示したい時にはどうすればいいでしょうか?

shiki = "4 × 3 = "
kotae = 4 * 3
print(shiki + kotae)

とすると

TypeError: can only concatenate str (not "int") to str

というエラーが出てしまいます.
データには型というものがあって,型の違うもの同士を足してしまうとエラーが出てしまいます.
Pythonのデータの型には以下のようなものがあります.

説明
int 整数値
float 小数値(浮動小数点数)
str 文字列
bool True(真)かFalse(偽)

データをたし算するときは,型をそろえなければいけません.
データの型を変換することをキャストといいます.
キャストする関数は以下のものがあります.

変換先の型 説明
int() int型に変換する. float型の整数部分だけ取り出すときにも使われる. str型を引数に入れるときは注意が必要.
float() float型に変換する.
str() str型に変換する.

先ほどのコードでエラーが出ないようにするには,変数kotaeをstr型にキャストすればいいのです.

shiki = "4 × 3 = "
kotae = str(4 * 3)
print(shiki + kotae)

こうすればエラーが出ずに,

4 × 3 = 12

と表示されるはずです.
先ほど,

print(8 / 2)

の実行結果が

4.0

になってしまう理由を説明してなかったので,説明します.
int(整数)÷int(整数)は答えが,整数になることもあれば,小数になることもあります.
だから,Pythonでは,割り算の答えが整数でも,小数でもfloat型にする仕様になっています.
つまり,8÷2の結果4がfloat型になってしまったため,4.0という表記になってしまっているのです.

複合演算子

複合演算子を説明していきます.
複合演算子は以下のような場合に使います.

a = 3
a = a + 3
print(a)

これを複合演算子を使うと,以下の様に書き換えることができます.

a = 3
a += 3
print(a)

こちらも,先ほどと結果は変わりませんが,スマートにコードを書くことができます.
計算で使う複合演算子には4つあります.

演算子 説明
+= 足し算をして代入する
-= 引き算をして代入する
*= かけ算をして代入する
/= 割り算をして代入する

複合演算子を使う上で注意すべきとこがあります.
それは,宣言されてない変数に対して,複合演算子を使うことができないのです.

a += 3
print(a)

の様なコードは実行するとエラーが出てしまいます.

Follow me!

2019年11月27日2週間でAIを触れるようになる!Python講座

Posted by timapple