「Python基本 まとめ」に戻る |
---|
Release: | 1.0 |
---|---|
Date: | October 27, 2010 |
Note
注) ※ 印はまだ自身のないところです。
– はじめに¶
#include <stdio.h>
int n;
int main(void)
{
n = 4 + 6;
printf("「4 + 6」の計算結果を表示します\n");
printf("4 + 6 = %d\n", n);
return 0;
}
>>> n = 4 + 6
>>> print(u"「4 + 6」の計算結果を表示します\n 4 + 6 = {0}".format(n))
「4 + 6」の計算結果を表示します
4 + 6 = 10
とするだけですみます。
print文は分けて書いたら \n を書かなくても改行されます。
keisan.py の場合はなら、(3系の場合は u を省いてください)
#-*- coding:utf-8 -*-
n = 4 + 6
print(u"「4 + 6」の計算結果を表示します")
print(u" 4 + 6 = {0}".format(n))
実行をしてみると、
$ python test.py
「4 + 6」の計算結果を表示します
4 + 6 = 10
というふうになります。
Python2.5では下のように書きます。
#-*- coding:utf-8 -*-
n = 4 + 6
print(u"「4 + 6」の計算結果を表示します")
print(u" 4 + 6 = %d " % n)
という具合です。
他の言語も学習する人は、同じ変数には違う型をなるべく入れない方がいいかもしれません(※)
ここで出てきた format や %d については次の「Pythonの基本 まとめ 文字列」で取り上げたいとおもいます。
– Pythonで扱える数とは¶
まずはどんな数を使えるのか、さらっとみてみましょう。
ブール型と複素数型が少し複雑そうですね。
複素数型は私がわからないので、勉強してから追記します。
ブール型については、 —- 論理演算についてもう少し で少し詳しく説明します。
– 演算子¶
まずは、何ができるのかざっと例を上げていきます。
>>> 1 + 1
2
>>> (8 * (12 - 3)) / 2
36
>>> 89 % 3
2
>>> 2 ** 16
6553
>>> True and False
False
>>> True or Flase
True
>>> not True
False
>>> 18 < 89
True
>>> 8 <= 8
True
>>> 1 == True
True
>>> 1 != True
False
>>> 1 is True
False
>>> 1 is not True
True
>>> x = 12
>>> x < 5
False
>>> x < 5 or x > 10
True
>>> x < 5 and x > 10
False
>>> x > 10 and x < 20
True
>>> 10 < x < 20
True
>>> x < 5 or (x > 10 and x < 20)
True
>>> 28 % 9
1
>>> 8 | 2
10
>>> 4 ^ 9
13
>>> 2 << 8
512
>>> ~ 26
-27
四則演算
% とはあまりを求める演算子、つまり余剰を求めます。
>>> 8 % 3
2
これは、8 ÷ 3 = 2 … 2 の余りの2を出す演算子です。
優先順位
四則演算での優先順位は数学と全く同じです。優先したいものがあれば、丸括弧 ( ) を使います。
>>> 2 * (4 + 2) / 4
3
いい忘れましたが、 / は ÷ ですので、覚えておいてくださいね。
— 整数型と浮動小数点型の自動型変換¶
>>> 1 + 0.5
1.5
Pythonでの除算(割り算)¶
—- Python2系の場合¶
>>> 3 / 2 # 商は1.5になるはずだが、小数点以下が切り捨てられる
1
>>> 7 / 4 # 商は1.75になるはずだが、小数点以下が切り捨てられる
1
>>> 7 / 8 # 商は0.875になるはずだが、小数点以下が切り捨てられる
0
回避するためにはどちらか、または両方をfloat型にして書く必要があります。
>>> 3.0 / 2
1.5
>>> 7.0 / 4.0
1.75
>>> 7 / 8.0
0.875
—- Python3系の場合¶
>>> 3 / 2
1.5
>>> 3 // 2
1
ちなみに
— int型とlong型の自動変換¶
>>> 2147483647 # ここまではint型
2147483647
>>> 2147483647 + 1 # ここからがlong型
2147483648L
Python3系ではlong型は廃止となり、long型がint型となりました。
ですので、末尾に L が付くことはありません。
>>> 2147483647
2147483647
>>> 2147483647 + 1 # 末尾に L が付かない
2147483648
—- 論理演算についてもう少し¶
Pythonの中の変数は全て、論理値として使う事ができます。
[]、0、""、None のような”空”の値は、偽を意味し、その他の値の時([0]、1、”Hello, world” など)は、真を意味します。
>>> w, x, y, z = [], 0, '', None
>>> w == x == y == z
False
>>> w == False
False
>>> x == False
True
False
>>> y == False
False
>>> z == False
False
偽や真とは、上記のように True や False をそのまま表すものではありません。
ただし、数値の0と1はそのまま True や False と同義になります。
例えば、Python2.6以上は、(3系の場合は u を省いてください)
>>> for i in ([], 0, '', None):
... if i:
... print(u"{0!r:4} = 真".format(i))
... elif not i:
... print(u"{0!r:4} = 偽".format(i))
...
[] = 偽
0 = 偽
'' = 偽
None = 偽
Python2.5では
>>> for i in ([], 0, '', None):
... if i:
... print(u"%s = 真" % repr(i).ljust(4))
... elif not i:
... print(u"%s = 偽" % repr(i).ljust(4))
...
[] = 偽
0 = 偽
'' = 偽
None = 偽
このような感じとなります。
# 変数 i が真の場合はという意味
if i:
何かのコード
# 変数 i が偽の場合はという意味
if not i:
何かのコード
これを覚えておくと便利です。
真の値も試してみましょう。
>>> a, b, c, d = [1], 1, 'hoge', True
>>> a == True
False
>>> a == False
False
>>> b == True
True
>>> b
1
>>> b == False
False
>>> c == True
False
>>> d == True
True
>>> d is True
True
先で説明したように, 1 == True で同義でしたね。
>>> for i in ([1], 1, 'hoge', True):
... if i:
... print(u"{0!r:4} = 真".format(i))
... elif not i:
... print(u"{0!r:4} = 偽".format(i))
...
[1] = 真
1 = 真
'' = 真
True = 真
Python2.5では
>>> for i in ([1], 1, 'hoge', True):
... if i:
... print(u"%s = 真" % repr(i).ljust(4))
... elif not i:
... print(u"%s = 偽" % repr(i).ljust(4))
...
[1] = 真
1 = 真
'' = 真
True = 真
以上で数の基本は終了です。抜けているものは気づいたときに付け足していきます。
比較の説明などはまた機会があったら記事を書きたいと思います
「Python基本 まとめ」に戻る |
---|
0 件のコメント:
コメントを投稿