はじめに
Twitterで一時期流行していた 100 Days Of Code なるものを先日知りました。本記事では、初学者である私がデータサイエンティストになるべく、100日の学習を通してどの程度成長できるか記録を残すために書いています。誤っている点、読みにくい点多々あると思います。ご指摘いただけると幸いです!
100日間の目標
下記の本、サイトを理解し、忘れてもすぐ思い出せるように記録を残すこと。
-
- コードが汚く、自身が書いたコードを理解するまでに時間がかかるという経験をよくする。また、来年から社会人として働くため、リーダブルなコードを書けるようにしておきたい。この本では、効率的で優れたプログラムを書くためのノウハウが詰まっており、Pythonの流儀を学べるとのこと。
-
- githubを使用する経験はあるが、使用するたびに調べては悩んでの繰り返しで効率わるし。しっかりと基礎を学んで、つっかえることなくgithubを使えるようになりたい。
-
[プロゲート SQL] (https://prog-8.com/languages/sql)
- データベースの知識を身に着けたい。
-
- 以前流し読みしたので、今回はじっくり読んで理解を深めたい。
-
- 以前ゼロから作るDeepLearning1 を読み非常に分かりやすかったため、続編であるこちらも読みたい。
今回学習する教材
- Effective Python
- 8章構成
- 本章216ページ
今日の進捗
- 進行状況:1-14ページ
- 本日学んだことの中で、よく忘れるところ、知らなかったところを書いていきます。
命名規則はPEP 8 スタイルガイドに従う
- PEP 8 とは Python コードをどのように書くべきかの明確な基準を定めるもの
- オンラインガイド
従うべきルールの一例
- 空白
- 各行の長さ79文字以下
- 長い式を次の行に続けるときは、通常のインデントに4個の空白を追加
- ファイルでは、関数とクラスは、2行の空白行で分ける
- クラスでは、メソッドは、空白行で分ける
- 名前付け
- 関数、変数、属性は、lowwercase_underscore のように小文字で下線をはさむ
- クラスと例外は、CapitalizedWord のように先頭を大文字にする
- モジュールレベルの定数は、ALL_CAPS のようにすべて大文字で下線をはさむ
スライスについて
代入するスライスの長さは同じでなくてもよい
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print("Before ", a)
a[2:8] = [11, 12, 13]
print("After ", a)
実行結果
Before [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
After [1, 2, 11, 12, 13, 9, 10]
文字列の反転
s = 'abcdefg'
reverse_s = s[::-1]
print(reverse_s)
実行結果
gfedcba
おわりに
こちらの記事が初投稿となります。至らぬ点多々あると思いますが、当たって砕けろの精神で投稿していきます。