正規表現のまとめ

今日は正規表現について調べたのでまとめます。

正規表現は英語でregular expressionsと言ってこれがpythonの標準ライブラリのreの元になっています。正規表現(正則表現ともいう)はたくさんの文字列をまとめて表すためのものです。

 

正規表現のなかでは、普通のローマ字や数字はそのまま扱われますが、いくつかの記号(これを特殊文字という)は特別な意味を持ちます。特殊文字は全部でたった11個しかないので簡単に覚えられます。ここではその一覧と簡単な意味をまとめました。

 

  • ^   =補集合
  • [ ]  =文字クラス
  • \   +アルファベット=色々な意味(どのアルファベットかで異なる)
  • \   +特殊文字 =エスケープ(特殊文字をそのままの意味で使わせる)
  • { }  =カッコ内の数が繰り返しの回数になる
  • .   =任意の一文字
  • $  =末尾
  • *  =繰り返し(0回以上)
  • ?  =最長一致から最短一致へ変更
  • +  =一個以上
  • |  = もしくは(和集合)
  • (  )  =グループ化

いかがだったでしょうか。実際にはこんな単純じゃないんですがこの大まかな意味だけ暗記しておけば勉強していて正規表現が出てきてもついていけると思います!

みんなのPython第4版参照ページ数

僕はまだPythonの勉強を初めて2週間ぐらいなので、すごい基本的なことも覚えてなくて本で調べることがあります。その時に一々めくって探さずに済むように、みんなのPythonでよく参照しているページをまとめておきます。

 

超基本的なこと

  • リストの基本  p64〜p75
  • ディクショナリの基本  p114〜p122
  • セットの基本  p123〜p129*1
  • タプルの基本  p130〜p134
  • 組み込み型のデータ型の特徴  p157〜p162

tableにまとまっている覚えなくていいだろうもの

  • エスケープシーケンス p173
  • formatのオプション p180
  • ファイル関連の操作 p217〜p228
  • 特殊メソッド p286〜p294
  • モジュールとクラスの対応 p323
  • エラーのまとめ p344〜p347
  • 正規表現 p368〜p369

*1:setは|で和集合、_で差集合、&で交わり、^で対象差というわかりにくい演算子があります

Jupyter Notebookで自作したモジュールをimportする方法

pythonの勉強をしていて詰まったところをメモしておきます。

 

jupyterでは普通に書いていると.ipynb形式で保存されるためimportコマンドがうまく使えないです。(jupyter上でimportしようとしても.py形式のものしかできない)

そのため普通には保存せず一旦.py形式にする必要があります。

 

まず、左上にあるfileをクリックし、download as→pyを押します。僕の場合は警告が出てきましたが無視して実行して大丈夫なようです。

するとパソコンのdownloadフォルダに「ノート名.py」というファイルができていると思います。このままだとimportするときにファイルの場所を書くのが面倒なので、入れられたファイルをドラッグ&ドロップしてimportする側のファイルがあるのと同じフォルダに移します

 

これでimportできるようになります!

『最強の教養 不確実性入門』は投資する人だけじゃなく数学やる人も読むべき

↓アマゾンのリンク

最強の教養 不確実性超入門

この本はめっちゃいい本でした!

本屋の目立つところにあったので読んでみたんですが、題名がダサいにも関わらずちゃんと中身がある本でした。

たいてい最強とか謳っている本はありきたりなうっすい事ばっか書いているという偏見があるのですが、この本は不確実性やそれに対する人間の反応をわかりやすくまとめられているなと感じました。

 

5章立てになっていて1章でランダム、2章と3章でフィードバックについて語って、4章以降はそれにどう対処していくべきかという話でした。

 

 

僕がいいなと思ったのは、

正規分布を使ってランダム性を説明するだけでなく、実際には極端なことが確率よりも頻繁に起きていること(何億年に一度の株の大暴落が数十年で何回も起きたり、千年に一度の美少女がいっぱい出てきたり)の理由をべき分布を使ってちゃんと説明していること。

 

統計学の本を読んで「身長とか成績は正規分布に従うけど、滅多に起きないことはべき分布に従う」ってのがあんまり腑に落ちてなかったんですがこの本を読んで理解できました。

結果が結果を呼ぶこと(正のフィードバック)によってどんどん極端な方向に進んでいき、最終的に極端なものが出てくるってことがかなりわかりやすく書かれていました。

 

ぜひ読んでみてください