見出し画像

土木構造設計×人工知能 土木設計AI開発日記#1 〜python何それおいしいの?〜

シリーズ目次

前回 Google 参加の DeepMind社が開発した AlphaGo が人間に勝ったニュースに衝撃を受けた話を書きました。その後私は見よう見まねで人工知能(最初は、強化学習)の勉強を始めたのです。

python何それおいしいの?

強化学習の勉強をしていた当時 python で書かれた情報が 100%でしたそこで、早速 python をインストールして使ってみたのですが、以下の点に躓きました。

1. メソッドと関数の使い分けで戸惑う

Python には sorted(list)list.sort() の 2 種類のソート方法があります。 前者は, 関数呼び出しで「副作用なし(list が変更されない)」
後者は、メソッド呼び出しで「副作用あり(list が変更される)」です。
つまり、使用するときには new_list = sorted(list)list.sort() のように、使い分けが必要です。

2. リスト内包表記

これもわかりにくいポイントでした. こんな感じのやつ

[ i * 10 for i in range(100) if i % 3 == 0]

個人的には

for i in range(100):
    if i % 3 == 0:
        yield i * 10

こっちのほうが読みやすくて好きですが、初心者の私は頭の中で変換して理解しながら勉強しました

3. if __name__ = "__main__"

import されたときに実行されないようにするための魔法の呪文ですね。
この意味がわかるようになったのは、2022年最近です。

4. Jupyter notebook の独特の操作性

セルの概念や変数がセルをまたいで使用できることに違和感がありました
google が無料で colab というjupyter 環境を提供開始した時はとても驚きました。


この記事が気に入ったらサポートをしてみませんか?