入力例 | 結果 | 備考 |
3 | 3 | 単に0〜9の数値を入力すれば10進数と解釈される |
-3.1 | -3.1 | 同上(小数の場合,負の数の場合も同様) |
0b10 | 2 | 先頭に,接頭語(プレフィックス,Prefix)の0b(オービーではない,零ビー)または0Bを付けると2進数と解釈される.統合開発学習環境(IDLE)の元で>>>に続いて0b10と入力すると,エコー出力は10進数の2となる |
0B21 | エラー | 0Bに続く数は2進数でなければならないから,2を書くとエラーになる. |
0B0.1 | エラー | 2進数の小数は受け付けない. |
-0b10 | −2 | 符号は,接頭語(プレフィックス,Prefix)の0bの前に書く |
0o17 | 15 | 先頭に,接頭語(プレフィックス,Prefix)の0o(零零ではない,零オー)または0Oを付けると8進数と解釈される.統合開発学習環境(IDLE)の元で>>>に続いて0o17と入力すると,エコー出力は10進数の15になる(1×8+7=15だから) |
0o8 | エラー | 0oに続く数は8進数(0〜7までの数字)でなければならないから,8を書くとエラーになる. |
0o0.1 | エラー | 8進数の小数は受け付けない. |
0xab | 171 | 先頭に,接頭語(プレフィックス,Prefix)の0x(零零ではない,零オー)または0Xを付けると16進数と解釈される.統合開発学習環境(IDLE)の元で>>>に続いて0xab, 0xAb, 0xAb, 0XaBなどと入力すると(x,a,bは大文字小文字の区別はない→0〜9,a〜z,A〜Zで62進数とはしない),エコー出力は10進数の171になる(10×16+11=171だから) |
0x1g | エラー | 0xに続く数は16進数でなければならないから,0〜9,a〜fよりも大きな数字を書くとエラーになる. |
0x0.1g | エラー | 16進数の小数は受け付けない. |
032 | エラー | 先頭が0の場合,小数点がないとエラーになる(3進法とは解釈されない) |
00.3 | 0.3 | 0.3の許容範囲の書き方と見なされる |
.3 | 0.3 | 先頭がドット(ピリオド)の場合は,0.の省略と解釈される(-.3→-0.3も同様) |
演算子 | 意味 | 入力例 | 結果 | 備考 |
+ | 符号を変えない | +3 | 3 | 後に続く数の符号を変えない |
+ | 符号を変えない | a+ | エラー | 後に続く数がないとエラーになる |
− | 符号を変える | −3 | −3 | 後に続く数の符号を変る |
− | 符号を変える | 3− | エラー | 後に続く数がないとエラーになる |
演算 | +a | ++a | +++a | ++++a |
値 | 3 | 3 | 3 | 3 |
演算 | −a | −−a | −−−a | −−−−a |
値 | −3 | 3 | −3 | 3 |
演算 | −a | −+a | +−a | −+−+a |
値 | −3 | −3 | −3 | 3 |
演算 | 5++3 | 5+++3 | 5−−3 | 5−+3 | 5+−3 | 5−+−3 |
結果 | 8 | 8 | 8 | 2 | 2 | 8 |
筆者の解釈 | 5+(+3) | 5+(+(+3)) | 5−(−3) | 5−(+3) | 5+(−3) | 5−(+(−3)) |
演算子 | 意味 | 入力例 | 結果 | 備考 |
+ | 足し算 | 2 + 3 | 5 | |
+ | 足し算 | 0b10 + 0o7 | 9 | 2進数や8進数で入力したときも,結果は10進数で表示される |
− | 引き算 | 2 − 5 | −3 | |
* | 掛け算 | 2 * 3 | 6 | |
** | 累乗 | 2 ** 3 | 8 | 23=8を表す |
** | 累乗 | 2 * * 3 | エラー | **という演算子の間に空白を入れてはいけない |
** | 累乗 | 0**0 | 1 | 数学的には00は定義されないが,Pythonでは1として処理する(Excelでは,=0^0は#NUM!←「数値でない」として処理される) |
** | 累乗 | 2 ** (1/2) | 1.4142135623730951 | を近似値で表す |
/ | 小数の 割り算 | 2/3 | 0.6666666666666666 | 割り算の商を浮動小数点数で表す,余りは出さない(16ビット機で行うと16桁までの近似値になる) |
// | 整数の 割り算 | 14//3 | 4 | 割り算の商を整数まで求める(商の小数を切り捨てたもの)…(*1) |
% | 割り算の余り | 14%3 | 2 | a÷b=q…r ←→a=bq+r においてqは商,rは余り…(*2) |
a | b | Python // % | Javascript (q) ← % | Excel (q) ← mod(a, b) | 備考 |
14 | 3 | 4 2 | (4) ← 2 | (4) ← 2 | 4≦14/3=4.66...<5 14−4×3=2 |
−14 | 3 | −5 1 | (−4) ← −2 | (−5) ← 1 | −5≦−14/3=−4.66...<−4 −14−(−5)×3=1 −14−(−4)×3=−2 |
14 | −3 | −5 −1 | (−4) ← 2 | (−5) ← −1 | −5≦14/(−3)=−4.66...<−4 14−(−5)×(−3)=−1 14−(−4)×(−3)=2 |
−14 | −3 | 4 −2 | (4) ← −2 | (4) ← −2 | 4≦−14/(−3)=4.66...<5 −14−4×(−3)=−2 |
a | b | Python // % | Javascript (q) ← % | Excel (q) ← mod(a, b) | 備考 |
14.1 | 3.1 | 4.0 1.7 | (4) ← 1.7 | (4) ← 1.7 | 4≦14.1/3.1=4.54...<5 14.1−4×3.1=1.7 |
−14.1 | 3.1 | −5.0 1.4 | (−4) ← −1.7 | (−5) ← 1.4 | −5≦−14.1/3.1=−4.54...<−4 −14.1−(−5)×3.1=1.4 −14.1−(−4)×3.1=−1.7 |
14.1 | −3.1 | −5.0 −1.4 | (−4) ← 1.7 | (−5) ← −1.4 | −5≦14.1/(−3.1)=−4.54...<−4 14.1−(−5)×(−3.1)=−1.4 14.1−(−4)×(−3.1)=1.7 |
−14.1 | −3.1 | 4.0 −1.7 | (4) ← −1.7 | (4) ← −1.7 | 4≦−14.1/(−3.1)=4.54...<5 −14.1−4×(−3.1)=−1.7 |
演算子 | 例 | 意味 | 結果 |
+= | a+=b | a=a+b | a=1 a+=1 → aの値は2 |
−= | a−=b | a=a−b | a=10.1 a−=1 → aの値は9.1 |
*= | a*=b | a=a*b | a=2 a*=3 → aの値は6 |
/= | a/=b | a=a/b | a=3 a/=2 → aの値は1.5 |
//= | a//=b | a=a//b | a=14 a//=3 → aの値は4 |
%= | a%=b | a=a%b | a=14 a%=3 → aの値は2 |
//= | a//=b | a=a//b | a=14 a//=3 → aの値は4 |
**= | a**=b | a=a**b | a=3 a**=2 → aの値は9 |
演算 | 結果 | 備考 |
2 + 3 * 4 | 14 | 3*4→12を先に計算するから2+12→14になる |
4*2**3 | 32 | 2**3→8を先に計算するから4*8→32になる |
10−5−2 | 3 | −と−は同順位だから左の−を先に行う.5−2 →3になる |
10−(5−2) | 7 | ( )の中を先に行うから 10−3 →7になる |
24/4/2 | 3 | /と/は同順位だから左の/を先に行う.6/2 →3になる |
24/(4/2) | 12 | ( )の中を先に行うから 24/2 →12になる |
演算 | 結果 | 備考 |
2**−1/2 | 0.25 | 「べき乗→符号→割り算」の順と考えられるが,「符号→べき乗→割り算」の順の結果が得られる:(2**(−1))/2→0.25 |
−2**1/2 | −1.0 | 「べき乗→符号→割り算」の順:(−(2**1))/2→−1.0 |
2**1/−2 | −1.0 | 「べき乗→符号→割り算」の順:(2**1)/(−2)→−1.0 |
(−1)**(1/2) | (6.12..e-17 +1j) | ( )の中を先に行うから になる 6.12..e-17はほぼ0,Python上では虚数単位はj |