大文字と小文字を区別する
数値操作関数:
abs(x)
: 絶対値を返します。
round(x, [ndigits])
:
数値を指定された小数点以下の桁数に丸めます。
sum(iterable)
:
イテラブルの要素の合計を返します。
型変換関数:
int(x)
:
数値または文字列を整数に変換します。
float(x)
:
数値または文字列を浮動小数点数に変換します。
str(x)
:
オブジェクトを文字列に変換します。
list(iterable)
:
イテラブルをリストに変換します。
dict()
: 新しい辞書を生成します。
文字列操作関数:
len(s)
:
オブジェクトの長さ(項目数)を返します。
format(value, format_spec)
:
フォーマットされた文字列を生成します。
シーケンス操作関数:
range(start, stop, step)
:
数列を生成します。
min(iterable)
:
イテラブル内の最小値を返します。
max(iterable)
:
イテラブル内の最大値を返します。
入力・出力関数:
print(*objects, sep=' ', end='\n', file=sys.stdout,
flush=False)
:
オブジェクトを標準出力に出力します。
input([prompt])
:
ユーザーからの入力を受け取ります。
ユーティリティ関数:
type(object)
:
オブジェクトの型を返します。
id(object)
: オブジェクトの一意のIDを返します。
open(file, mode='r', buffering=-1, encoding=None,
errors=None, newline=None, closefd=True, opener=None)
:
ファイルを開きます。
関数の定義
def func0(args):
def func1(args):
ここに処理を書く
return ret # return文があると、値を返す
def func2(args):
ここに処理を書く
return ret1, ret2 # returnで複数の値を渡すと、戻り値はタプルとなる
関数の引数
位置引数とキーワード引数がある。
・ 位置引数:
関数の呼び出し側で与えた引数の順番に対応して、関数定義の引数の値が決まる
・ キーワード引数:
関数の呼び出し側での引数の順番に関係なく、引数の値を与えることができる。
key = def_val の形で引数を定義、呼び出し側では key = val
で呼び出しを行う。
・ キーワード引数は、必ず位置引数の後に定義する
・ デフォルト引数: key = def_val
の形の引数は、キーワード引数が与えられていない場合の初期値をdef_valで与える
・ デフォルト引数のデフォルト値は、プログラム実行時の初期化の最に確定される。
そのため、デフォルト値をミュータブルな変数、リストや辞書型で与えて、関数内で要素を書き換えると、
後で関数を呼び出した際のデフォルト値が変わるので注意
例:
def func(a = []):
a.append(1)
return a
print(func()) # [1]
が出力される
print(func()) # [1, 1] が出力される
#出力
[1]
[1, 1]
・ *args: 関数定義で *
を使うと、残りの位置変数をリスト変数 args に入れる
例:
def func(v1, v2, *options):
print(f"{v1=}")
print(f"{v2=}")
print(f"{options=")
func(1.0, 2, 3, 4, 5)
#出力
v1=1.0
v2=2
options=(3, 4, 5)
・ **kwargs: 関数定義で **
を使うと、残りのキーワード変数を辞書型のリスト kwargs
に入れる
例:
def func(v1, *options, k1 = "a", **kwoptions):
print(f"{v1=}")
print(f"{options=}")
print(f"{k1=}")
print(f"{kwoptions=}")
func(1.0, 2, 3, 4, k1 = "b", k2 = 3, op1 = "def")
#出力
v1=1.0
options=(2, 3, 4)
k1='b'
kwoptions={'k2': 3, 'op1': 'def'}
関数呼び出し
func0("a") # 引数"a"を与えてfunc0を呼び出す。returnがない関数なので、戻り値は受け取らないvalue = func1("a") # 引数"a"を与えてfunc1を呼び出す。戻り値を変数valueに受け取る
value1, value2 = func2("a") # 引数"a"を与えてfunc2を呼び出す。returnで2つの戻り値を返すので、2つの変数value1, value2に受け取る
values = func2("a") # 複数の戻り値がある場合、tuple変数 (要素を変更できない配列) valuesで受け取れる
value1 = values[0]
value2 = values[1]
システム関係
ファイルの読み書き
グラフ関係
科学計算関係
__init__
:
オブジェクトの初期化時に呼び出されるコンストラクタ
__str__
: str()
関数や print()
文に使用されるオブジェクトの文字列表現を定義します。
__repr__
: repr()
関数に使用されるオブジェクトの開発者向文字列表現を定義します。
__del__
:
オブジェクトが削除されるときに呼び出されるデストラクタです。
__len__
: len()
関数が呼び出されたときにオブジェクトの長さを返します。
__getitem__
:
オブジェクトのインデックスアクセスを処理します。
__setitem__
:
オブジェクトのインデックスに値を設定します。
__delitem__
:
オブジェクトのインデックスに対応する値を削除します。
__iter__
:
オブジェクトを反復可能にします。
__next__
:
反復中に次のアイテムを返します。
__contains__
: in
演算子によるメンバーシップテストを定義します。
__call__
:
オブジェクトが関数のように呼び出されたときの動作を定義します。
__enter__
: コンテキストマネージャ (withブロック)
の開始時に呼び出されます。
__exit__
:
コンテキストマネージャの終了時に呼び出されます。
__add__
, __sub__
,
__mul__
, __truediv__
,
__floordiv__
, __mod__
,
__pow__
など: 算術演算子をオーバーロード
__eq__
, __ne__
, __lt__
,
__le__
, __gt__
, __ge__
など: 比較演算子をオーバーロード
type(obj)
print(obj.__class__.__name__)
print(MyClass.class_attr)
print(obj.instance_attr)
print(dir(MyClass))
print(obj.__dict__)
hasattr(MyClass, 'class_attr')
hasattr(obj, 'instance_attr')
class MyClass:
pass
class SubClass(MyClass):
pass
obj = MyClass()
print(isinstance(obj, MyClass)) #
第2引数にはclassを与える。継承した場合もTrue
sub_obj = SubClass()
print(isinstance(sub_obj, MyClass)) # True, SubClassはMyClassを継承しているため