理由はそのうち考える

まずやってみよう

Python

Python学習メモ:ジェネレータ・デコレータ

gihyo.jp ジェネレータ ジェネレータはリストやタプルのように、for文で使用できるイテラブルなオブジェクト。リストやタプルは要素数に応じてメモリ使用量も増えるが、ジェネレータは次の要素が求められるたびに新たな要素を生成して返すためメモリ使用量を…

Python学習メモ:特殊メソッド

gihyo.jp 特殊メソッド 特殊メソッドとは、Pythonが暗黙的に呼び出す特別なメソッド。メソッド名の前後にアンダースコア2つが付いているのが特徴。例として、組み込み関数len()は引数に渡したオブジェクトの特殊メソッド__len__()を暗黙的に利用する。 class…

Python学習メモ:モジュール

gihyo.jp モジュールとスクリプト Pythonのクラスや関数の定義が書かれた.pyファイルをモジュールという。スクリプトとも呼ばれるが、両者に明確な違いはない。用途として、python3コマンドから直接実行するものをスクリプト、Pythonコード中で読み込んで利…

Python学習メモ:クラス

gihyo.jp クラス クラス定義 Pythonのクラス定義は以下の通り。 class クラス名(基底クラス名): def メソッド名(引数, …): 処理 return 戻り値 クラスを継承したい場合はクラス名に()をつけて指定する。省略するとobjectクラスを継承する。 インスタンス生成…

Python学習メモ:関数

gihyo.jp 関数 Pythonの関数定義は以下の通り。 def 関数名(引数1, 引数2, …): 処理 return 戻り値 カッコの代わりにコロンを使うところは制御構文と同じ。引数、戻り値は不要ならそれぞれ省略できる。 Pythonでは関数名はスネークケースが用いられるのが一…

Python学習メモ:データ構造

gihyo.jp データ構造 None C++やC#などのnullに相当し、シングルトンである。 条件式で使うと偽となる。あるオブジェクトがNoneかどうかを判定するにはisを使用する。 ==がeq()をオーバーライドして結果を変えられるため。isの場合はその心配がない。 hoge =…

Python学習メモ:例外処理

gihyo.jp 例外処理 Pythonにも例外処理がある。構文は以下の通り。 try: 処理 except 捕捉したい例外クラス: 期待する例外が発生した時に実行される処理 else: 例外が発生しなかったときのみ実行される処理 finally: 例外の発生有無にかかわらず実行したい処…

Python学習メモ:制御構文

gihyo.jp 変数・コメント・ブロック 変数は型宣言不要。実行時に決まる。ただし型が異なると実行時エラーとなるので、実装時には型は意識する必要がある。 コメントは#(シャープ)で。ブロックはインデントで表現する。 if 構文は以下の通り。 if 条件式: 処…

Pythonことはじめ

AI関連の学習をするにあたってPythonも知っておかねばと思い書籍を読んでいる。 gihyo.jp 言語としての特徴 ブロックの表現はインデントで行う Pythonと言うとブロックの表現を中括弧ではなくインデントで行うというところが特徴的だろう。このインデントの…