学習記録① Python
まずPythonを学習しよう!
機械学習の勉強にあたって、まずこの本を読んだ。
機械学習エンジニアになりたい人のための本 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くんですが、インデントにはめっちゃ厳しいです。
インデントがチョットずれていると怒られます。靴揃えてなかったら怒るお母さんみたいな
クラスについて詳しく
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でコンソールで動く○✕ゲームかなにかを作ろうと思います。