とりあえずpythonに入門する
Rev.14を表示中。最新版はこちら。
ここには、とりあえずこれだけは的内容を書く。python特有のトリッキーな内容に関しては専門項目にまとめる。
こんにちはpython
- 文字列はシングルクオーテージョン ' またはダブルクオーテージョン ” で囲んでやる。日本語の場合は、2系列はエンコーディング引数がいるし、3系列はいらない。
例 print ('hello world') print (u"こんにちは")
変数について
- Python にはローカル変数とグローバル変数がある。が、明示的な変数宣言は特に必要無い。 変数は値を割り当てられると出現するし、 スコープを外れると自動的に破棄される。
- 変数名には英数字とアンダースコア _ を用いることができる。ただし、数字から始まるのと、予約語を変数名にすることはできない。
- 変数定義(というか変数出現)は”変数名=値”でオッケー。
例 x=1 x='abc'
- まとめて変数を定義することもできる。
例 x = y = z = 0
例 (x,y,z) = (0,1,2)
例えばこの記述は hoge = (1,2,3)みたいにしておいてから(x,y,z) = hogeとすることもできる。
例 特に連続した値を代入したい時、組み込み関数rangeを使うとカッコイイ
(a, b, c, d, e, f, g) = range(7)
- ブール値というのがある。まんま、FalseとTrueのこと。文字列としても変数としても扱える。Falseは0、Trueは1に対応。注意点は、最初が大文字じゃないとブール値として認識されないこと。
例 print(1 + True) print(1 + False) とできる。
- 変数がどんな形をしているかは組み込み関数typeで表示できる。
例 print(True)
print(type(True))
簡単な数値計算
- 四則演算は普通にそのまま
例 1+1
(2*(6-2))/3
- 余りを表示してくれるやつ
例 20%2
- べき乗
例 2**3
簡単な論理演算
- and演算子 論理積。aとbが共に真の場合に真が返る。
例 True and False とするとFalseが返る。(左辺条件式 and 右辺条件式 の形)
- or演算子 論理和。aかbの少なくとも1つが真の場合に真が返る。(左辺条件式 or 右辺条件式)
例 True or False とするとTrueが返る。
- not演算子 否定。右辺の条件式が真の時に偽、偽の時に真を返す。(not 右辺条件式)
例 not True でFalseが返る。
- is演算子 オブジェクトを比較して、等しい場合に真を返す。厳密一致しないと真にはならない。
例 print(1 is True) は Falseが、print(1 is 1) は Trueが返る。
- is not演算子 厳密不一致でTrueが返る。見たとおり、is演算子の逆。
例 print(1 is not True) で Trueが返る。
簡単なビット演算
- 2進数 基本は、先頭に0bをつけて表記。変換用の組み込み関数が用意されている。
例 bin(5)
- 16進数 基本は、先頭に0xをつけて表記。変換用の組み込み関数が用意されている。
例 hex(3)
- ビットシフト 桁をずらすことができる。右シフトは << 左シフトは >> でできる。
例 右シフト
bin(5<<0) 結果'0b101'
bin(5<<1) 結果'0b1010'
bin(5<<2) 結果'0b10100'
(以下はビット演算における論理演算。1を真、0を偽と見なす。)
- &演算子 ビット積。格桁で両方1ならば、その桁は1が出力される。
例 bin(0b10010010 & 0b10100111) なら結果は '0b10000010'
入力左 0b10010010
入力右 0b10100111
出力 0b10000010
- | 演算子 ビット和。どちらかが1であれば、その桁は1を出力する。(両方1の時は1を返す)
例 bin(0b10010010 & 0b10100111) なら結果は '0b10110111'
入力左 0b10010010
入力右 0b10100111
出力 0b10110111
- ^ 演算子 排他的ビット和。どちらかが1の時だけ、その桁は1を出力する。(両方1の時は0を返す)
例 bin(0b10010010 & 0b10100111) なら結果は '0b00110101'
入力左 0b10010010
入力右 0b10100111
出力 0b00110101
- ~演算子 ビット反転。0と1を逆にする。
が、pythonの場合桁に上限がなくなるらしく、-(a + 1)という出力が行われるらしい。つまり、符号が逆転したものに1が足される。
型に関して簡単に
- 演算における型は自動的に変換が行われる。2系列と3系列で少し仕様に違いがあるので注意が必要。割り算を使うときは注意されたし。
(以下、型の種類について記述を行う。先ほども述べたように、型はtype(引数)の形で調べられる)
特殊な型
- NoneType 何もない型
- bool ブール値。TrueまたはFalse
数値型
- int 整数
- long(long int) 長い整数(2系列のみ)
- float
- complex
コンテナ(連続した)型
- str
- unicode
- list
- tuple
- dict
- set
- frozenset
モジュールの呼び出しとインポート
- 関数の呼び出し方法
- モジュールのインポートの仕方
長い文章を書く
プログラムの中でわかりやすくするために文の途中で改行したい時があります。そんな時に、pythonはインデントで構文解釈を行うので無秩序な改行ができません。構文とは関係なく改行したい場合、カンマ , を利用します。