じばるどーね!

趣味、思想、妄想、学問、ごった煮ブログ

Pythonの勉強中

 Pythonはいいぞ、一緒に勉強しましょう~!

 こんにちは、じばるどーねのとぼです。普段(ほとんどCな)C++を使っているんですが、以前に書いたProject Eulerの記事↓

yadrfu.hatenablog.com

 の頃から「Python強くね?」って感じていまして、しかもPython機械学習やWebサイト作りに強い言語とのことで、大分興味が膨れ上がってきて、今更ながらPythonの学習を始めました。進捗はGitHubにも「T0B0o/Python学習その〇〇」って形で随時更新しているんですが、こちらでも少しメモ代わりにPythonについての思ったこと・ポイント・書いたコードなど挙げていきたいなと思っています。

gist.github.com

今の勉強の仕方なんですが、とりあえず1冊本を使って勉強しつつ、実際にコードを打って写経や応用して改変したものをgitに挙げていき、ときどき分からないことなどあればqiitaなどを見ていく...って感じでやってます。

使っている本は実践力を身につけるPythonの教科書」(クジラ飛行機[著])です。マイナビが出しているものです。

  ずいぶん前に、オラクルさんの出してるPython3の本を少しやってみたことがあったんですが、内容がどのページもびっしりで萎えてしまいました。

入門 Python 3

入門 Python 3

 

 ですが、今回この「Pythonの教科書」を読んでみるとサクサク進むのが楽しくて今のところ萎えないで学習できてます。

実践力を身につけるPythonの教科書」のいいところは、

 ・網羅性は高くはないが、重要なところを端的にまとめてあるからサクサク進める!

 ・具体例や絵での説明も結構あり、(本自体のサイズがA4ってのもあるが)ページもすっきりしていて読みやすい!

 ・割りと序盤からライブラリを利用した応用例みたいなのがあって面白い。最終的にはWebコンテンツや一種の機械学習体験までザックリ学ぶことができる!

 

...ってところです。要は「パパっと学習できて、パパっと応用できる!」ってことです!!

目標としては、とりあえず4月上旬(15,6日くらいまで??)までに「Pythonの教科書」を一通り終わらようと思っています。

 

めっちゃシンプルだけど好きなコード

 Pythonの教科書でリストの勉強しながら書いた「ナベアツ数判定プログラム」です。ナベアツがアホになる数(3で割れる数、または3がつく数)を入力された文字列の中から引き抜いて列挙するものです。シンプルですが、C++とかで書くよりもアッサリしている気がするし、なんとなく好きです。

#ナベアツ数Judge
nabe=[]
while True:
   f=input("整数を入れてね(入力完了はq) : ")
   if f=="q": break
   if f.isdigit()==False : continue
   fi=int(f)
   if fi%3==0 :
      nabe.append(f)
      continue
  while fi>=1:
      if fi%10==3 :
      nabe.append(f)
      break
      fi//=10
print("ナベアツ数は",nabe,"です")

   なお、関数isdigit()は、「変数.isdigit()」って書くと、変数が数字のみで構成されているときだけTrueを返します。

 実際に実行して色々やってみた結果がこちら。

f:id:tb9810w124816:20180331130652p:plain

日本語入力や全角数字入力にも対応してくれるisdigit()神。

 

最後に...

  なんだかオラクルさんの「Python3入門」を批判するみたいになっちゃってますが、実際のところ全くそんなつもりはなくて、これは個人の相性だと思います。「Python入門」の方がPythonを深く学ぶ上での網羅性は高く、書かれていることの権威みたいなのはより高いと思うので、じっくりPythonの本質(??)を理解したいぜ!みたいな方にはお勧めできると思うんです。ただ、飽きっぽい人とか、サクサク学習を一通り終わらせたい人にとっては少し長すぎるかもしれません。私は後者だったので萎えましたが、両方の本を比較して選んだ方がいいかもしれません。

 自分に合った本は自分の目で見極めよう!!

おしまい。