#記号やヒアドキュメントを使用する。
# 1行コメント a = 1 # 行の途中からコメントにすることも可能 """ ヒアドキュメントを変数に代入しないことで コメント扱いにすることが可能。 """
命令文の終了はセミコロン(;)を使用する。
a = 1; b = 2; c = 3; d = 4 # 1行に1命令の場合、省略可能
分類 | 種類 | 演算子 | 使用例 |
---|---|---|---|
代入演算子 | 加算 | += | a += b |
減算 | -= | a -= b | |
乗算 | *= | a *= b | |
除算 | /= | a /= b | |
除算(小数点以下切り捨て) | //= | a //= b | |
剰余 | %= | a %= b | |
べき乗 | **= | a **= b | |
比較演算子 | 超過 | > | a > b |
未満 | < | a < b | |
以上 | >= | a >= b | |
以下 | <= | a <= b | |
同値 | == | a == b | |
異なる値 | != | a != b | |
論理演算子 | 論理積 | and | (a > b) and (b < c) |
論理和 | or | (a > b) or (b < c) | |
否定 | not | not(a < b) | |
ビット演算子 | 論理積 | & | a & b |
論理和 | | | a | b | |
排他的論理和 | ^ | a ^ b | |
ビット反転 | ~ | ~a | |
左ビットシフト | << | a << 1 | |
右ビットシフト | >> | a >> 1 |
・・・
・・・
論理演算子and, or, notでは、bool型True, Falseだけでなく、数値/文字列/リストなども真偽値として評価される。
評価結果 | 種類 |
---|---|
False | ・bool型のFalse ・None ・数値の0(int)または0.0(float) ・空文字列'' ・空コンテナ(リスト、タプル、辞書など)[], (), {} |
True | 上記以外 |
論理演算の結果はbool関数で取得可能。ただし'0'や’False'を評価するには、distutils.util.strtobool()を使用する。
・・・
Pythonには関数とメソッドの2種類存在
種類 | 説明 | 呼び出し方 | 例 |
---|---|---|---|
関数 | - | 関数名(引数) | print(“aiueo”) |
メソッド | - | データ.メソッド名(引数) | - |
# 引数なし def hello1(): print("Hello !") # 引数あり def hello2(name1, name2): print(f"Hello {name1} and {name2} !") # 引数のデフォルト値あり def hello3(name = "foobar"): print(f"Hello {name} !") # 戻り値あり def calc1(height, weight): ret = height * weight return ret # 値の返却 a = calc2(100 * 200) # 呼び出し # 無効な戻り値を戻したい場合 def calc2(i, j) if i < 100: return None # 無効値という意味でNoneを返す return height * weight
要素を[]の中で記述して定義する。
a = [ 1, 2, 3, 4, 5 ] # 数値のリスト b = [ "aaa", "bbb", "ccc" ] # 文字列のリスト c = [ 1, "aaa", 2, "bbb", 3, "ccc" ] # 数値、文字列の混在も可能 d = [] # 空のリスト
他の型(文字列やrange())からリストを生成する場合、list()を使用する。
s1 = list("Hello") # [ 'H', 'e', 'l', 'l', 'o' ]のリストが生成 s2 = list(range(0, 3)) # [ 0, 1, 2 ]のリストが生成 s3 = list() # []の空リストが生成
複数のリストを纏めた新しいリストを作成する場合、zip()やenumerate()を使用する。
s1 = [ 1, 2, 3 ] s2 = [ 4, 5, 6 ] s3 = [ 7, 8, 9 ] tmp1 = zip(s1, s2, s3) t1 = list(tmp1) # [ ( 1, 2, 3 ), ( 4, 5, 6 ), ( 7, 8, 9 ) ]のリストが生成 # 縦に要素が結合されるので注意 s4 = [ "aaa", "bbb", "ccc" ] tmp2 = enumerate(s4) t2 = list(tmp2) # [ ( 0, "aaa" ), ( 1, "bbb" ), ( 2, "ccc" ) ]のリストが生成 tmp3 = enumerate(s4, 1) t3 = list(tmp3) # [ ( 1, "aaa" ), ( 2, "bbb" ), ( 3, "ccc" ) ]のリストが生成
s1 = [ 1, 2, 3, 4, 5 ] t1 = s1[0] # 0番目の要素(1)を取得 t2 = s1[1:3] # 1番目~3番目の要素[2, 3]を取得 t3 = s1[0:5:2] # 0番目~5番目の要素を増分2で取得[1, 3, 5] u1, u2, u3, u4, u5 = s1 # s1の各要素を先頭から順番にu1~u5変数へ代入
s1 = [] s1.append("aaa") # [ "aaa" ] s1.append("bbb") # [ "aaa", "bbb" ] s1.append("ccc") # [ "aaa", "bbb", "ccc" ] s1.insert(1, "ddd") # [ "aaa", "ddd", "bbb", "ccc" ]
s1 = [ "aaa", "bbb", "ccc" ] s1[2] = "ddd" # [ "aaa", "ddd", "ccc" ]
s1 = [ "aaa", "bbb", "ccc" ] s1.pop() # [ "aaa", "bbb" ] s1.pop(0) # [ "bbb" ]
[]を入れ子にすることで多次元リストの作成が可能。
s1 = [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ] ] # 2次元リスト
タプルはリストと異なる定義後は要素の書き換えができない。定数値や辞書のキーに使用する。
要素を()の中で記述して定義する。
a = ( 1, 2, 3, 4, 5 ) # 数値のタプル b = ( "aaa", "bbb", "ccc" ) # 文字列のタプル c = ( 1, "aaa", 2, "bbb", 3, "ccc" ) # 数値、文字列の混在も可能 d = ( 1, ) # 要素が1つの場合、後ろに,(カンマ)が必要 e = () # 空のタプル f = a + b # 既存のタプルから新しいタプルを作成することも可能 g = a * 2 # 同上
他の型(文字列やrange())からリストを生成する場合、tuple()を使用する。
s1 = touple("Hello") # ( 'H', 'e', 'l', 'l', 'o' )のタプルが生成 s2 = touple(range(0, 3)) # ( 0, 1, 2 )のタプルが生成 s3 = touple() # ()の空タプルが生成
s1 = ( 1, 2, 3, 4, 5 ) t1 = s1(0) # 0番目の要素(1)を取得 t2 = s1(1:3) # 1番目~3番目の要素(2, 3)を取得 t3 = s1(0:5:2) # 0番目~5番目の要素を増分2で取得(1, 3, 5) u1, u2, u3, u4, u5 = s1 # s1の各要素を先頭から順番にu1~u5変数へ代入
要素を{}の中で記述して定義する。セットは順序性を持たないため、重複する要素は登録できない。またスライスを使用した要素の抽出もできない。
a = { 1, 2, 3, 4, 5 } # 数値のセット b = { "aaa", "bbb", "ccc" } # 文字列のセット c = { 1, "aaa", 2, "bbb", 3, "ccc" } # 数値、文字列の混在も可能 # d = {} # この記述で空のセットは生成できない。後述のset()を使用する
他の型(文字列やrange())からリストを生成する場合、set()を使用する。
s1 = set("Hello") # { 'H', 'e', 'l', 'l', 'o' }のセットが生成 s2 = set(range(0, 3)) # { 0, 1, 2 }のセットが生成 s3 = set() # {}の空セットが生成
s1 = set() s1.add("aaa") # { "aaa" } s1.add("bbb") # { "aaa", "bbb" } ※順序性は保証しない s1.add("ccc") # { "aaa", "bbb", "ccc" } ※順序性は保証しない
s1 = { "aaa", "bbb", "ccc" } s1.remove("bbb") # [ "aaa", "ccc" ]
s1 = { "aaa", "bbb", "ccc" } if "bbb" in s1: # s1に"bbb"が存在すれば、Trueとなる print("bbb is exists.")
キーと値を:(コロン)で区切り、{}の中で記述して定義する。同名のキーを指定した場合、後勝ちで上書きされる。
a = { "foo": 1, "bar": 2, "hoge": 3 } # 値が数値 b = { "foo": "aaa", "bar": "bbb", "hoge": "ccc" } # 値が数値 c = { "foo": "aaa", "bar": 2, "hoge": 3 } # 値が数値 d = {} # 空の辞書を生成
# 追加 s1 = {} s1["foo"] = 1 # { "foo": 1 } s1["bar"] = 2 # { "foo": 1, "bar": 2 } s1["hoge"] = 3 # { "foo": 1, "bar": 2, "hoge": 3 } # 参照 t1 = s1["bar"] # t1に2が代入
特定の関数を使用する場合、モジュールのインポートが必要。
import math # ceil関数を使用するためのインポート print(math.ceil(a))