プログラミング初心者のPython進捗日記

プログラミング初心者が独学でやってみて、どれぐらい進むか/進まないかをお楽しみください。

AidemyのPython入門をクリアして学んだことまとめ

【アイデミーでパイソン】

どうも世界一周旅行中のねじまき(@nejimakiblog)です。

このプログラミング学習用のブログでは初めて触れますが、
実は世界一周旅行をはじめてたりします。

世界一周旅行はじめました!目標・やりたいこと10個まとめ

リモートの仕事やブログを更新しつつ、なおかつ別の資格の勉強をしていたりするので、あまりPythonの勉強はできてないのが正直なところです・・。

出国前は、オブジェクト指向についてだけやってたので、
基本的な文法については残念ながら記憶が薄れかかってました。

なので、プログラミングのブランクを埋めるため、
AidemyというAI/機械学習に特化したサイトでの復習をやってみました。

もちろん学ぶのは「パイソン入門」というコース。 

【印象に残った部分】

 入門コースながらも、初めて知ったこともいくつかあったので、
気になる部分をまとめておきます。

  • リストの中にリストが含まれるオブジェクトを、「多次元配列」「多次元リスト」と呼ぶことがある。

  • リストから要素を削除するにはdelを使用し、 del リスト[インデックス] と記述
    blog = ["はてな", "ライブドア", "Wordpress", "Ameba", "Blogger"]
    del alphabet[3:] # インデックス3以降の要素を削除
    print(blog) # ["はてな", "ライブドア", "Wordpress"]が出力される

  • 元のリストに変更が適用されないようにするには、値を代入する際に
    「blog_copy = blog [:]」または「blog_copy = list(blog)」
    という記述をする
    →どういった部分で使うかがいまいち想像できませんが、
     とりあえずそんなこともできるらしいです。

  • インデックスも同時に取得したい場合
    enumerate() というものを使う。
    list = ["U2", "QUEEN"] for index, value in enumerate(list): # listのインデックスと値を取得する
    print(index, value)

    >> 0 U2
    >> 1 QUEEN
    となる。

  • 文字列のフォーマット
    ""(ダブルクォート)や''(シングルクォート)で囲まれた文字列の中に「%」を記述することで、後ろのオブジェクトを指定のフォーマットに変更して埋め込む。
    なるほど、%.3f  で小数点3位まで求められるなど便利そうです。
    他の本にはまったくなかったですねこれは。

【疑問点】 

BMIの計算式について、
mi = w / h ** 2 

となっていて、なぜ2乗がh**2になるのかがよくわかりませんでした。

→ と思ったら、 **2  で2乗、 **3 で3乗 の意味があるそうです。
ということで自己解決。

 

あとやっぱりオブジェクト指向わかんないぞ・・・。
ここの章になると突然、説明の量も増えるし用語も増えるし。
一旦完全な理解は諦めて、日を開けてから復習しようと思います。

【感想・レビュー】

入門コースながらも、いくつか知らないこともあったので、やって損はなかったかな、と思います。

合計5時間ほどで終えられるので、一旦勉強に挫折してしまった、という方や別の言語をやっていた方は、ぜひこのコースで再チャレンジしてみてはいかがでしょうか?

パイソン入門コースは無料でできるので、初心者・初学者にもかなりおすすめです。

Progateとは違った方向にわかりやすいというかなんというか。
説明が端的なのが相性にあったのかもしれません。

シンプルなプログラムでも、いまだになぜエラーが起こっているのか、たまに全く見当がつかない時があり、まだまだ勉強不足を感じます。

引き続き、プログラミング学習の進捗を書いていこうと思います。 

nejimaki-python.hatenablog.com

ちなみに、ポッドキャストやってます。よかったら聴いてみてください。
その名も「世界のねじを巻くラジオ」
iPhone/iTunesで聴く

世界のねじを巻くラジオ【ゲイのねじまきラジオ】

世界のねじを巻くラジオ【ゲイのねじまきラジオ】

  • ねじまきラジオ
  • セクシャリティ
  • ¥0

Androidで聴く→ https://www.google.com/podcasts?feed=aHR0cHM6Ly9uZWppbWFraS1yYWRpby5jb20vZmVlZC8%3D
「世界のねじを巻くラジオ」で検索!
世界のねじを巻くラジオ【ゲイのねじまきラジオ】

プログラミング勉強の進捗 少しずつやってます

【忙しくて、という言い訳】

プログラミング学習、こんなブログを作りながらも
正直なところあんまり進んでいません。
ブログも久々の更新です。

仕事もプライベートも忙しく、あまり時間が取れていないのが現状。

トレードオフってすごく的をついた言葉ですよね・・。

でも決して勉強をやめたわけじゃなく、
一日10分ほど、キンドルの電子書籍でPython関連の勉強をしたりしてます。
全然大した勉強量じゃないのは百も承知してますが、「継続は力なり」を信じてマイペースでやっていきます。

本家ブログPodcastもやってたり、本や映画もみたいものがたくさんあるので。。

初心者のうまくいかない部分、全然進まない現状も包み隠さず(笑)記事を書いていきたいと思います。

でも、『退屈なことはPythonにやらせよう』というオライリー社の本はなんだかんだで7章ぐらいまでは進んでます。

振り返りもかねて、時間があればまとめていこうとおもいます。

Python進捗日記@いくつか参考書を購入してみた(25日目)

【知識不足を補う】

プログラミング勉強も25日目になりました。
Python、まだまだ知識不足なところを感じたので、文法の基礎からWebスクレイピングも載っている『退屈なことはPythonにやらせよう』というオライリー社の書籍を買いました。
あとはKindle Unlimitedで読み放題のパイソン本を。

WEBスクレイピングのために、HTML&CSSもとりあえず基礎はやり終えたので、
ちょこちょことこっちの書籍を進めてます。

【自動化を目標に】

パラパラとめくっていて思ったのは、
洋楽や映画のレビューサイトをスクレイピングして、一元化できたら便利だろうな、
なんて。
とりあえずはそれを目標に頑張ります。

100 days of codeの四分の一は過ぎてしまったので、とりあえず50日までにはWebスクレイピングができるようになりたいです。

HTML&CSSコース中級まで@Progate 18日目

【Webスクレイピングに向けて】

プログラミング勉強も18日目になりました。
Python、とりあえず基礎の基礎は理解出来た感じ。

WEBスクレイピングのために、HTML&CSSを勉強しようかと。

 とりあえずプロゲートの中級編までは終わらせました。

下記詰まった部分。

  • タグとクラスがややこしい
    うっかりCSSで .(ドット)を付けてエラーを起こしてしまいます。
    classの場合はドットが必要で、タグの場合は必要なし!
  • <input>要素は終了タグが不要
  • フォントをカンマ「,」区切りで複数指定すると、最初のフォントが読み込めない場合に次のフォントが読み込まれる
  • <textarea>要素は複数行のテキスト入力を受け取るための要素
  • インデントがPythonほど明確じゃないので「これでいいの?」とちょっと戸惑う。

【構造が理解できた】

ブログのメンテナンスや、ウェブページの構造を見るには役立ちそうですが、
完全なる白紙から作るとなると、ちょっと知識不足ですね。

ちょっとしたコードでボタンや影を付けたりできるので、やっぱりブログを書くにも便利。

パイソン進捗ブログ@13日目 オブジェクト指向復習

【オブジェクト指向に苦戦】

プログラミング勉強も13日を経過。

Progateの「学習コースⅤ」を終えたところで一旦ストップ。

でも解答見まくりのクリアだったので、復習必須ですね。

理解度がいまいちなので、他の本で理解を試みました。

 

Kindle Unlimitedでいくつか本を読んで復習。

  • オブジェクトはデータを内部に持つ
  • メソッドはオブジェクトを操作(中身を変更)もしくは参照(中身を変更しない)する
  • 変数にどのオブジェクトが入っているかは常に意識する

【復習が大事】

 とりあえず復習してなんとかオブジェクト指向的な思考をつかみたいと思います。

プログラミング進捗日記@10日目 GitとCommand Line

【コマンドラインとギット】

プログラミング勉強も10日を経過。
100 days of code」を実戦してますが、もう100日のうちの10分の1を経過。
こんな調子で大丈夫なんでしょうか?もう少しスピードを上げていきます。

・・といいたいところですが

Pythonのオブジェクト指向が、一部消化不良なので、
学習コースⅣを終えたところで一旦ストップ。

こちらのブログで 

 

5.「わかったような気がする」の繰り返しが重要 オブジェクト指向は、「わかったような気がする。」ということの繰り返しです。人によって理解が違いますし、人によって説明も違います。1回で分かるはずはありませんので、繰り返し学習をすることが大切です。

オブジェクト指向が難しく、わからないときの解決方法とは!?繰り返しの学習の必要性 - ライフをハックしたい

「わかったような気がする」の繰り返しが重要 

と書かれてましたので、鵜呑みにして、とりあえず一旦パイソンは休憩。

「Command Line」 と 「Git」のコースを一日で終えました。
どちらもシンプルなうえ、使い所が多そうですね。

コマンドラインなんかは、普段の日常でも、ファイル作成をサクッと行えそうです。

Gitは共同開発のため、ということですがまだそんなレベルではないので、
GithubにPushするための手段、と考えておきます。

【Githubとの連携できず】

しかしGithubとの連携がうまくいきません・・・。

最後のところでerrorが出てしまうので、

error: failed to push some refs to 'https://github.com/imitation3141/mysite.git'

NEJIMAKI@LAPTOP-83FD8AUO MINGW64 ~/mysite/mysite (master)

インターネットで調べていくつも解決策を試して見るも、
うまくいかず。

あとはプッシュするだけなので、決してつまずくような箇所じゃないだけに、
余計と不満が貯まります・・。

「後退していなければ前進している」

らしいので、とりあえず今の感じで進めていきたいと思います。

パイソン進捗日記@8日目 Progate継続

【クラスとメソッド】

パイソン学習、8日目に突入。
ブログもゆる~く続けていきます。週に一度をめどに更新予定。

素人向けのサービスProgate(プロゲート)の「Python学習コース Ⅳ」を無事クリア。

オブジェクト指向に関するパートをなんとかこなしました。

  • クラス名は大文字ではじめる 
  • 変数名 = クラス名()」とすると、生成したインスタンスを変数に代入することができる
  • インスタンス.インスタンス変数名」とすると、インスタンス変数の値を使うことができる
  • クラスの中で定義した関数をメソッドという
  • メソッドの定義 第一引数にselfを追加する必要あり
  • 呼び出し方 「インスタンス.メソッド名()」
 
__init__メソッド

このメソッドを使うことで、

インスタンスを生成すると同時にインスタンス変数に値を代入できる。
インスタンスメソッドの中では、「self.変数名」でインスタンス変数を扱うことができるので、「self.変数名 = 値」でインスタンス変数に値を代入できる。

いまいち理解出来なかったので、
『現場ですぐに使える!Pythonプログラミング逆引き大全 313の極意』のKindle版を購入、これで補完。
同じ項目の内容でも、本やサービスによって全く違った説明の仕方です。
詰まったときは、相性の合う本やサービスでわからない部分をやり直すのがいいかもしれません。

このペースだと、無事9月中にはプロゲートのPython編完遂出来そうです。
Pythonが終了しだい、Gitなども含めて少しずつ進めていきたいと思います。

復習しないと一気に頭から抜けそうですね。

【はてなブログもやってます】

Twitter@nejimakiradio


ポッドキャスト
もぜひ。

iPhone/iTunesで聴く
→ https://goo.gl/kd4D8E
Androidで聴く→ https://www.google.com/podcasts?feed=aHR0cHM6Ly9uZWppbWFraS1yYWRpby5jb20vZmVlZC8%3D
「世界のねじを巻くラジオ」で検索!!
世界のねじを巻くラジオ【ゲイのねじまきラジオ】
www.nejimakiblog.com

nejimaki-python.hatenablog.com