高卒フリーターがAIエンジニアを目指す

機械学習・Python・数学 の勉強メモ

学習記録① Python

まずPythonを学習しよう!

機械学習の勉強にあたって、まずこの本を読んだ。

機械学習エンジニアになりたい人のための本 AIを天職にする (AI&TECHNOLOGY)

機械学習エンジニアになりたい人のための本 AIを天職にする (AI&TECHNOLOGY)

  • 作者:石井 大輔
  • 発売日: 2018/10/17
  • メディア: 単行本(ソフトカバー)
ほーほー、とりあえず習うより慣れろでやってみろ!と。
だから早速Kaggleに取り組もうとした。
けど、さっぱり分からなかった。AIうんぬんデータうんぬんの前に、Notebookとかディレクトリの構成とか、プログラミングの環境周りがさっぱり分からなかった。ので、Pythonの基本から学ぶことにした。
C#はUnityでまあまあ触っていたので、プログラミング自体の知識はある。のでPython習得も楽勝だろうきっと!

ゆるゆるニシキヘビ言語Python

めちゃくちゃ分かりやすい記事を見つけた。C#Pythonを比較して紹介されている。ありがてぇ。。。
hiroronn.hatenablog.jp
ほか参考記事
とほほのPython入門 - クラス - とほほのWWW入門
Python♪用語集:モジュール、パッケージ、ライブラリの違い | Snow Tree in June
Python入門 ~Pythonのインストール方法やPythonを使ったプログラミングの方法について解説します~ | PythonWeb



………C#と全然ちがうよーーー!!

  • 改行とインデントでブロックを判別する

{}で区切ったりしないのです。まじかよ。そしてインデントはスペース推薦だそう。

  • クラスの定義
class TestClass:
    pass

x = TestClass()

うおおーまじで{}がない。(ついでに文末の:(セミコロン)もない)

  • 型をつけない、書かない

↑のコードのように、xにTestClassを代入するときにvar x = とか TestClass x = とか書かない
Pythonは動的型付け

  • 1ファイルが1モジュール

一つのファイル(testmodule.py)がモジュールとみなされる。
モジュールを外部ファイルから使うときは

import testmodule

のように書く。

  • リストは x = [1,3,"aa] (突然の文字列でもOK。同じリストに違う型の値を入れられる)
  • ハッシュセット(重複なしセット)は x = {1,2,3}

 └Pythonではset,集合型と呼ばれている。

  • Dictionaryはpeople = {'noromap': 24 } のように。

こんな感じでゆるゆるなPythonくんですが、インデントにはめっちゃ厳しいです。
インデントがチョットずれていると怒られます。靴揃えてなかったら怒るお母さんみたいな

クラスについて詳しく

qiita.com

class TestClass2:
    val = [] #publicメンバ
    __val = []  #privateメンバ __(アンダーバー2つを頭につけるだけ。ゆる~!)
    def __init__(self):   #コンストラクタ. selfは自身のインスタンス
        print("init:" + str(self.val))
        # 初期化
        self.val.append(1)
        self.val.append("Yaaay")

    def test_method1(self):
        print("test_method2:" + str(self.val))

testClass2 = TestClass2()
testClass2.test_method1()

実行結果

init:[]
test_method2:[1, 'Yaaay']

次回はPythonでコンソールで動く○✕ゲームかなにかを作ろうと思います。