単純なステートメント
今までいろいろなデータ型を説明してきました。でもプログラムできるような気にならないと思います。そうです、今までは数字や文字やいろいろな情報をIron Pythonがどうやって覚えているかを説明しただけです。プログラムとは、パソコンに対して命令することです。実際パソコンはもっと単純な言葉しか分からないため、Iron Pythonというソフトを介して、パソコンに命令します。
ではIron Pythonが理解できる単純なステートメント(命令文)から説明していきましょう。
del文
他のプログラム言語には変数の宣言というものがあり、変数の型を宣言します。 「この変数は整数ですよ。」とか、「この変数は文字列です。」など。でもIron
Pythonでは宣言しません。
Iron Pythonの考え方はこうです。変数の型は使うとき分かるもんだ。だから前もって宣言しなくてもいいんじゃない。というわけでIron
Pythonは使うとき、つまり代入するときに変数を認識します。
>>> a ←変数aについて何も知らないので、エラーになります。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> a = "abc" ←この代入で変数aをIron Pythonは知ります。
>>> a
'abc' ←知っているので変数aを表示できます。
さてdel文は覚えたものを忘れなさいという命令です。せっかく覚えたのに何故?と思うかもしれませんが、あくまでもパソコンは機械です。人間と違って自然に忘れることがありません。余分なことまで全部覚えています。また記憶できる量も限界があります。そのうち、記憶できる量が全部余分なことでいっぱいになってきてしまいます。そのため、delという忘れるための命令があります。
上の続き・・・
>>> a
'abc'
>>> del a ←変数aを忘れなさい。
>>> a ←命令どおり忘れています。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
pass文
またへんこな命令がでてきました。トランプゲームなどいう「パス」という言葉と同じ意味です。つまり何もするなという命令です。
>>> pass
>>> pass
>>> pass
>>> pass ←当然Iron Pythonは何もしません。
print文
やっと良く使う命令文登場です。print文は標準出力に値のリストを出力します。複数の指定をした場合、1つのスペースを間に入れた状態で連結されます。通常の終わり方をすると改行がprintされて終了です。カンマをつけて終了すると、スペースが付いた状態で命令が終了になります。
>>> a = "abc"
>>> d = "def"
>>> g = "ghi"
>>> print a ←変数aをprint(表示)しなさい
abc
>>> print a,d,g
abc def ghi ←変数a,d,gはスペースで区切られて表示されます
>>> print a+d+g ←文字列データの演算を使えば、区切られず表示されます。
abcdefghi
>>> print a,d
abc def ←変数の後、何も書かなければ、<改行>を実行する文字が入っています。
>>> print a,d, ←最後にカンマをつけると
abc def >>> ←スペース文字だけで入って終了します。
エスケープコード
通常の文字を表示する場合は問題ないのですが、例えばこんなのを表示する場合、
He said "It's OK".
どうしたらいいのか考え出されたのがエスケープコードです。
>>> print "\tHe said\"It\'s OK!\"." ←例です。
He said"It's OK!".
文字の前に”¥”をつけて、機能を持たせるコードをエスケープコードと言います。エスケープコードの例を表にしてみました。エスケープ コード |
意味 |
\ | 行継続 |
\\ | 円マーク |
\' | クォーテーション |
\" | ダブル・クォーテーション |
\a | ビープ音 |
\b | バックスペース |
\e | エスケープ |
\0 | ヌル文字 |
\n | 改行 |
\t | 水平タブ |
\r | キャリッジリターン |
書式化文字列
%演算子を使って出力文字列を書式化できます。使い方はこんな風
書式化する文字列 % 単一変数もしくはタプル
使った例は次のようになります。
>>> a = 123
>>> b = 3.1415926
>>> c = "hello"
>>> d = ['ABC','DEF','GHI']
>>> print 'a is %d' % a
a is 123
>>> print 'a and b are %5d and %.2f' % (a,b) ←数字は表示桁数を示している
a and b are 123 and 3.14
>>> print "%s %s%s%s" % (c,d[0],d[1],d[2])
hello ABCDEFGHI
書式化する文字列の中にある"%"で始まるものを変換指定子と呼びます。変換指定子には次のものがあります。
文字 | 出力書式 |
d,i | 符号付き 10 進整数 |
o | 8 進数 |
u | 符号なし 10 進数 |
x | 符号なし 16 進数 (小文字表記) |
X | 符号なし 16 進数 (大文字表記) |
e | 指数表記の浮動小数点数 (小文字表記) |
E | 指数表記の浮動小数点数 (大文字表記) |
f,F | 10 進浮動小数点数 |
g,G | 浮動小数点数。指数が -4より小さいか精度が大きい場合には 指数表記、それ以外の場合には10 進浮動小数点数 |
c | 一文字 |
r | 文字列 (python オブジェクトを repr() で変換します) |
s | 文字列 (python オブジェクトを str() で変換します) |
exec文
exec文はPythonコードを含んだ文字列を実行します。言葉では良く分かりませんね。例を見てもらえば、一目瞭然だと思います。