# プログラミング言語は、人間が命令を書いて、コンピュータがその命令を評価します(出力もします)。
# 以下の例では"12 + 12"という命令を人間が書いてPythonがそれを評価し、出力しています。
# "12 + 12"と入力し、Shift+enterしてみましょう。
12 * 12 + 2
146
Pythonでは以下の数学演算子が使えます(他にもあります)。
優先順位 | 演算子 | 説明 | 例 | 評価の値 |
---|---|---|---|---|
1 | ** | 累乗 | 2 ** 3 | 8 |
2 | * | 掛け算 | 3 * 5 | 15 |
3 | / | 割り算 | 22 / 8 | 2.75 |
4 | // | 整数の割り算 | 22 / 8 | 2 |
5 | % | 剰余 | 22 % 8 | 6 |
6 | + | 足し算 | 12 + 12 | 24 |
4 | - | 引き算 | 12 - 2 | 10 |
# 以下のように命令を間違うとPythonは命令を評価できず、エラーを出力します。
# 間違いがありそうなところが"^"で示されます。
# "SyntaxError:"の後ろにエラーの種類が示されます。
12 /
Cell In[4], line 5 12 / ^ SyntaxError: invalid syntax
# 以下の文はaという変数に3という値を代入しています。
a = 3
# a = 3を実行したあとに以下のコマンドを入力すると"a"に代入された値が出力されます。
a
3
# 変数同士の演算も可能です。
# 以下の例ではaに3を、bに7を、a * bの結果をcに代入し
# cを出力しています。
a = 5
b = 7
c = a * b
c
35
# もちろん変数には文字列も代入できます。
# 文字列は""で囲みます。
a = "good" # a = goodはダメ!
a
'good'
# 文字列は以下のように連結ができます。
a = "Robert"
b = "Plant"
a + b
'RobertPlant'
# 文字列は以下のように複製ができます。
a * 3
'RobertRobertRobert'
正しい変数名と正しくない変数名
正しい変数名 | 正しくない変数名 | |
---|---|---|
good | good-thing (ハイフンは使えない) | |
goodThing | good thing (スペースは使えない) | |
good_thing | 2thing (数字から始めてはいけない) | |
_good | 22 (もちろん、数字だけもダメ) | |
GOOD | good_$ing (特殊な記号は使えない) |
a = 12
b = 3
# 割り算
a/b
4.0
# 剰余
a % b
0
# 結果を変数に代入
ab = a * b
# aにbを足し入れる
a += b
# 関数
# 小数点以下を切り捨てる関数は
a = 2.5
round(a)
# 命令文と考えたら、roundが命令(動詞)で()内に目的語を書く感じ。
# 「aの小数点以下を切り捨てろ」みたいな。
# ()内に「目的語」の後ろに「どうやって」を表す副詞みたいな表現が入るときもある。
2
# メソッド
# 関数と同じ命令だけど、「文法」が少し違う
# 大文字を小文字にするメソッドは
a = "I LOVE YOU MORE THAN ANYTHING IN THE WORLD."
a.lower()
# .(ドット)の前が「目的語」でその後ろに命令(動詞)を書く。
# ()の中に「どうやって」を表す副詞みたいな表現が入るときもある。
'i love you more than anything in the world.'
# 変数(オブジェクト)を要素として持つデータ構造。順番を保持する。
# 整数のリスト
M = [2,3,4,5]
# もちろん少数も
N = [2.0,5.4,8.9,3.3]
# リストの代入
L = M
# 空のリストの作成
L = []
L = [12,25,32,65,44,89,35]
### データの個数
L_count = len(L)
### データの総和
L_sum = sum(L)
### 平均値(データの個数を総和で割る)
L_ave = L_sum / L_count
# numpyをnpという名前でimportする(これでnumpy以下の関数はすべて使える)
import numpy as np
# とするとnp.xxでnumpyの関数が使えるようになる
np.sqrt(2)
1.4142135623730951
# 特定の関数をimportするとき
from numpy.random import *
# 乱数の発生
L = rand(100)
# import numpy as npと書いてたら
# L = np.random.rand(100)
L = [12,25,32,65,44,89,35]
np.average(L)
43.142857142857146
np.var(L)
581.5510204081633
np.std(L)
24.11536896686765
L = [12,25,32,65,44,89,35]
# 中央値
import numpy as np
np.median(L)
# 第一四分位数
from scipy import stats
stats.scoreatpercentile(L,25)
# 第三四分位数
from scipy import stats
stats.scoreatpercentile(L,75)
54.5
以下のデータの平均値、中央値、分散、標準偏差、第一四分位数、第三四分位数、四分位範囲を求めなさい。
L = [56,57,92,73,65,24,17,37,91,79,132]