投稿

7月29日(金)3、4コマ目

イメージ
今日、やったこと クラス 例外 今日のホワイトボード クラスのフィールド Javaと同じ感覚でフィールド変数を用意する(メソッド外で初期化)と、クラス変数になってしまうので注意。 コンストラクタ(メソッドでもよいが)にて、第1引数のselfをつかって   self.変数名 = 初期値 とすること。 図 フィールド作成 クラスの継承 Javaと同じようにクラスの継承ができます。 サブクラスにて、super()と書くと、スーパークラスにアクセスできます。 図 サブクラスからスーパークラスにアクセス 練習問題3 正解例をあげておきます。 練習問題3-1 練習問題3-2 今後は これでPythonを使えるようになりましたが、AI等をやるにはこれでは片手落ちで、numpyやpandas、scikit-learn、tensorflow等のモジュールの知識が必要になります。(あと、数学も)

7月29日(金)1、2コマ目

イメージ
今日、やったこと [確認テスト]Python確認演習1 モジュール 今日の確認テスト 解答例をあげておきます。 今日のホワイトボード モジュール 汎用的な関数を1つの.pyファイルにまとめておけば、そのファイルを読み込む(インポート)だけで関数を利用することができます。 図 モジュール作成、インポート Google colaboratoryの場合は、 ①ノートブックで関数作成 ②ダウンロード  ~.pyとしてダウンロード ③別ノートブックでアップロード ④importでモジュールをインポート で利用できます。 モジュールの別名 インポートしたモジュールには別名をつけることができます。 別名をつけることで、モジュール内の関数をフルネーム(モジュール名.関数名)ではなく、別名.関数名で利用できます。 図 モジュールに別名をつける  

7月28日(木)3、4コマ目

イメージ
今日、やったこと 関数 今日の練習問題 練習問題2 関数の練習問題です。解答例と挙げておきます。 練習問題2-1 0~255の整数を2進数へ変換する問題。 2で割った余りが各ケタの値、答え(商)が上位のケタの値です。 変換後の2進数を楽に表示するため、リストのインデックス0には最上位ビットの値、インデックス1にはその次のケタの値、・・、インデックス7には最下位ビットの値を格納しています。 練習問題2-2  正の数は2-1と同じ。 負の数は ①絶対値を2進数へ(2-1と同じ) ②①の結果を1の補数へ(ビット反転) ③②の結果に1を足す(最下位ビットから、繰り上がりに注意) です。 セル間の関係 セル1で代入した変数や作成した関数は、セル2でも使えます。 ただし、セル1を実行する必要があります。 図 セル間の関係 次回は 確認テストをします。

7月28日(木)1、2コマ目

イメージ
今日、やったこと 練習問題1(関数まで) 今日の練習問題 練習問題1の解答例をあげておきます。 練習問題1-0 練習問題1-1 練習問題1-2 単純にやると dict型を使って、簡単に 練習問題1-3 単純にやると dict型を使って、簡単に 練習問題1-4 今日のホワイトボード 文字列の結合 JavaやCと同じように+演算子で文字列結合ができます。 ただ、JavaやC#のように数値型を文字列型へ自動変換する仕組みがありません。 よって、  文字列1 + 文字列2 はJavaやC#と同じように文字列1と文字列2を結合しますが、JavaやC#ではできる  数値 + 文字列  文字列 + 数値 の数値を文字列に変換して結合ができません。 もし、数値を文字列に変換して文字列と結合するなら str() を使って、数値を文字列に変換する必要があります。  × 数値 + 文字列  〇  str( 数値 ) + 文字列 図 文字列結合 ノートブックとPythonプログラムファイル Google colaboratoryはノートブック編集ツールです。 ノートブック(~.ipynb)にはPythonのコードとテキスト(マークダウンを使って修飾表現可)を含みます。 Anaconda等で開発する場合は、Pythonのプログラムファイル(~.py)を作成します。 図 ノートブック(~.ipynb)とPythonプログラムファイル(~.py)

7月27日(水)4コマ目

イメージ
今日、やったこと Pythonの文法 今日のホワイトボード Pythonの文法 以下をさーっと流しました。 ブロックはインデントで {}でブロックを作れない。 インデントでブロックが決まる。 ちなみに{}はdict型の初期値を指定する際に利用。 変数(宣言不要) 宣言不要。いきなり代入可能。 型は存在するが、代入値からPythonが推測する。 list型(配列のようなモノ) JavaやC#のListと同じようなモノ。 似たようなタプル(tuple)もある。 listはミュータブル(mutable)で変更可。 tupleはイミュータブル(immutable)で変更不可。 図 list(リスト)とtuple(タプル) dict型(連想配列) listは配列と同じで、インデックスと要素(データ)が紐づく。 連想配列はキーと要素が紐づく。 JavaのHashMapと同じ。 算術演算子 基本的にcやJavaと同じ。 べき乗の**、割り算の答え(商)の//がある。 インクリメント演算子の++、デクリメント演算子の--はない。 比較演算子 cやJavaと同じ。 論理演算子 ||ではなく、or。 &&ではなく、and。 !ではなく、not。  繰り返し forはJavaの拡張for、C#のforeachと同じで、配列等から要素を順に取り出す。 Cのforのような使い方をしたい場合はrange()でカウンタ変数がとりうる値のリストを作る。 whileもある。 条件分岐 ifがある。ただし、else ifではなく、elif。 switchはない。 すいませんが... ホワイトボードにどうでもいいようなことを書きましたが、写真撮影を忘れてました。