とりあえずpythonに入門する
ここには、とりあえずこれだけは的内容を書く。python特有のトリッキーな内容に関しては専門項目にまとめる
目次 1、こんにちはpython ※ |
---|
1、こんにちはpython ※
- 文字列はシングルクオーテージョン ' またはダブルクオーテージョン ” で囲んでやる。日本語の場合は、2系列はエンコーディング引数がいるし、3系列はいらない。あとカッコが、2系列はいらないし、3系列はいる。
例 print ('hello world') print (u"こんにちは")
2、変数について※
- 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))
3、簡単な数値計算※
- 四則演算は普通にそのまま
例 1+1
(2*(6-2))/3
- 余りを表示してくれるやつ
例 20%2
- べき乗
例 2**3
4、簡単な論理演算※
- 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が返る。
5、簡単なビット演算※
- 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が足される。
6、型に関して簡単に※
- 演算における型は自動的に変換が行われる。2系列と3系列で少し仕様に違いがあるので注意が必要。割り算を使うときは特に注意されたし。
(以下、型の種類について記述を行う。先ほども述べたように、型はtype(引数)の形で調べられる)
特殊な型
- NoneType 何もない型
- bool ブール値。TrueまたはFalse
数値型
- int 整数
- long(long int) 長い整数(2系列のみ。容量が違う)
- float 浮動小数点
- complex 複素数 (なぜか虚数単位にjを使う)
コンテナ(連続した)型
- str 文字列
- unicode Unicodeの文字列。主に日本語。引数u
- list リスト
- tuple 変更のくわえられないリスト
辞書(キーワードで要素に飛ぶ)型
- dict 辞書型
- set 重複なしの辞書
- frozenset 変更できない辞書
7、モジュールの呼び出しとインポート※
- 関数の呼び出し方法
基本的には、関数名(引数)
print ('hello')
- モジュールのインポートの仕方
例 import math
math.fabs(-4)
8、長い単一分※
プログラムの中でわかりやすくするために文の途中で改行したい時があります。そんな時に、pythonはインデントで構文解釈を行うので無秩序な改行ができません。構文とは関係なく改行したい場合、バックスラッシュ \ あるいはカッコ () {} [] を利用します。
開業の前に\があると、その開業は無いものとして扱われ、カッコ内の改行は認識されないようになっています。
9、複合文※
命令文は複数行からなり、解釈はインデント(改行とtab)のみで行われる。同一インデントはブロックと呼ばれる。命令文のキーワードの後ろには必ずコロン : をつける必要がある。一つのインデントは同じ長さであればなんでもいい。(スペース4つが推奨)
if