【2日目】KaggleでPythonの勉強してみた【独学】
KaggleのCourseタブからPythonの勉強ができるのでそのノートを取ります
【2日目】
Lesson:Hello, Python <Exercise>
勉強時間:30分
Lesson:Functions and getting help <Tutorial>
勉強時間:30分
Lesson:Functions and getting help<Exercise>
勉強時間:30分
Lesson:Booleans<Tutorial>
勉強時間:30分
- Lesson:Functions and getting help <Tutorial>
- Lesson:Functions and getting help<Exercise>
- Lesson:Booleans<Tutorial>
Lesson:Hello, Python <Exercise>
<内容のメモ>
Notebookの使い方
コードの実行:ctrl+Enter
上にセルを追加:セルを選択→Esc→a
下にセルを追加:セルを選択→Esc→b
Question0では回答の見方・ヒントの見方が出てくる
color = "Blue"って打つ
↓
チェック「違うよ。回答の見方とかヒントの練習をするために、ヒントを見てね」
↓
ヒント「glueと韻を踏んでるよ」
↓
(韻を踏んでる=Rythmがわからず)color = "glue"と打つ
↓
チェック「え、めっちゃうけるw」
いい意味でイラっとした
コードを解くのが楽しかった!
<新出単語>
diameter:直径
vice versa:逆に
Lesson:Functions and getting help <Tutorial>
<内容のメモ>
ヘルプ:help() →①引数②関数の定義・働き を解説してくれる
今の段階では必要がないけど、後々複雑になるにつれて、関数の中身を理解する上ですごく役に立つ。
ここでの②のことをdoctringという。
関数の定義
return:関数を出るときの宣言。また何を関数の解にするのかを書く。
自分の関数を作ると、docstringを入れておかないと、help()に入れても何も解説してくれない。
dosctringの作り方:"""でくくる(ダブルクオーテーション3つ)
あまり使わない関数ほど、docstringを作っておくと役に立つよ。
printの面白い機能
printにはsepという機能があり、カンマで区切られた単語の間に挿入する単語をかけたりする。(下記で<を書かなければシンプルに1 2 3だけ印字される)
print(1, 2, 3, sep=' < ')
関数を作るとき: def 関数名(引数)
関数内関数(関数の中で関数を呼ぶ)は下記でできる。
→ def 関数名(fn, arg) : return fn(arg)
→print関数だと、最後にkey = 関数名を使うと、関数を使った結果が印字される
<新出単語>
docstring:Python用語。関数とかクラスに関してユーザーが残しておくコメント
voluminous:(形)おびただしい
configurable:構成可能
inscrutable:(形)不可解な
aka:as know as 別名
Lesson:Functions and getting help<Exercise>
Q1:docstringの内容に沿って関数を完成せよ。
関数→小数点2桁までに数を丸めること(3.1415なら3.14)
※passはPythonの性質上、関数の中に何か書かなければいけないので、意味はないが書いてるだけの行
<感想>
純粋にPythonの一般的な関数を知らないから、四則演算でなんとかするのかな…と思いきや、hintを見て、割とシンプルなつくりだなあと(そりゃ関数になれるためのパートだもんね)
Q2:round関数にはndigitsが負の数をとることがあること書かれている。試してみること
<感想>
Excel関数でよく使っていたので、すんなりできた
Q3:ハロウィンで集めた総キャンディ数を友人間で等分し、余りはつぶすこととする。キャンディ数と友人数を引数とする関数を作成すること。なお友人数が定義されない場合は3人とする。
<感想>
無駄なことを考えてしまった。
if文使って場合分け、と考えたけど、まだif文はTutorialには出てきてないので混乱した。しっかりTutorialを見れば確かにわかる。
Q4:エラー構文を読む練習。エラーを吐く構文を実行し、正しく直せ。
コメントを外す:Ctrl+/
<新出単語>
decimal :(名)十進法の、少数の
<感想>
Exerciseはやってて面白いものだけど、今回は割とすんなりできた。
Lesson:Booleans<Tutorial>
正誤判定:bool
TrueやFalseを変数に直接入れるよりも、比較演算子で正誤判定をすることの方が多い。
Operation | Description | Operation | Description | |
---|---|---|---|---|
a == b |
a equal to b |
a != b |
a not equal to b |
|
a < b |
a less than b |
a > b |
a greater than b |
|
a <= b |
a less than or equal to b |
a >= b |
a greater than or equal to b |
比較演算子では、intとfloatを比較することはできるが、stringとintは無理
returnのところで、and, or, notをつけたりすることで、さらに条件を付けた関数にもできる。
and, or, notには優先があって、andの方が高いと決まっている。
True or True and False
例で出てきた、上記は True or (True and False)と読め、True and Falseは存在しないが、Trueであればいいので、解はTrue
もし、orの方が上位の場合は結果も変わり、(True or True) and Flaseで、True or True =TrueとFalseが同時に成り立つものは存在しないので、解はFalseとなる。
この書き方は結構なバグの可能性を秘めているので、()で囲ってしまう方が可読性も高く、よいコードである。
条件文:if, elif, else
bool関数における正誤
数字:0以外のすべての数字はTrue
文字:何か文字が入っていればTrue
上記をうまく使えば、ifは比較演算子がなくても成立する。if 0:だと、Falseの場合、みたいな使い方ができる。
<新出単語>
precedence :優先権、上位
denote:(動)示す
implicitly:暗に
<感想>
内容難しかった。Bool自体他の言語と変わらないんだけど、サンプルを理解するのに少し時間がかかってしまった。