入門Python3でPythonをガッツリ学ぶ(1)

 

karia68.hatenablog.com

 続きといえば続き。

 

入門 Python 3

入門 Python 3

 

 

 

本当は初めからこの本にTryするつもりだったが明らかに挫折が見えていたので回避をした。ここのところ忙しく(それは当然なんだけど)Python出来ていなかったのでいけないのだけど、ちょくちょくChekiOの問題に挑戦しようとはしていた。そこで明らかに関数などの体系的な知識が不足している事を実感したので、網羅的な一冊にそろそろ手を出していこうかなと思った次第。イメージとしては独学プログラマーでプログラミングの世界(あ、そういう感じなんだプログラミングって)みたいなのを掴み取って、詳しい知識をこのオライリーの分厚い本で補給していく感じ。CheckiOになんとか踏ん張って食らいついて、問題の答えを見てもほっとんど知らない関数ばっかりなのよね。全てを知らないって本当にやる気が失せる。

 

んで初めて本屋でコレを手に取った時は謎のマジカルワードが並んでいるようにしか感じられなかったけれど、独学プログラマーでアホなりにさらっとさらったおかげでスラスラと読んでいける。そして独学プログラマーでは押さえていない知識をスンナリと拾っていくことが出来ている。初めにそっちからやっといてよかったな。

 

独学プログラマーは10章あたりまではとても美味しいと思う。ただ、10章以降をその1冊だけで済まそうとするのは厳しい印象。だからこその11章に助け舟を置いているのかなという感じ。

 

網羅的な一冊を持つと何が嬉しいかって、もちろん分からないところをネットで調べてその都度勉強するという姿勢は大事だしいつまでも続く事なのだろうけど、初心者にとっては検索するたびに全てが未知の世界であるっていうのはかなりキツイ。(相当の根気がなければ)その点で、網羅的な本で前もって知識を見るだけみておいて、実際使おうってなった時にネットでもう一度調べてああコレね、なんか書いてあったねってなるだけでもかなり違う。あとはネットで調べるだけだとなんというか信頼できない?もちろん言葉通りではないけれどなんというか、本当にそんなんあるんすかという感じにどうしてもなってしまう。(なぞ)

 

大学生活もやや安定してきた(?)感があるので、これからゴリゴリやっていこうと思う。目標はとりあえずこの本の知識をさらってCheckiOをゴリゴリ解いていく事。あとは英語の語彙も伸ばしつつあるのでインターネッツでプログラミングの情報を英語で仕入れるということもやっていこうと思う。既に知っている概念じゃないとそれは厳しいのでゆっくりと、だけど。

 

しばらくはこの分厚い本を独学プログラマーインターネッツの助けを借りて読み進めていく。まあ、だけども例によって最後まで読み通すっていうことは目指さないようにしたいと思う。きっとそれは無理だ(いろんな回り道をして最終的に読めるようになっていたっていう方が近道そう)。なので、一通りの知識を身につけたらあとは実践(何か作ったり練習問題解いたり)だ!っという方針でゆるくガッツリやっていこう。きっとそれがいい。(続けたもん勝ちよ!)

 

 

 

ねていこ

大学の授業を受けてみて

コレは主体的にやらないとアカンです(汗)。ただやっぱり、学習のキッカケを与えてくれる(何らかの出会いを与えてくれる)という意味では素晴らしいものだなと感じます。宿題に出されたから、、、という理由でもなければベンサム功利主義(Wow)についてしっかりと調べようとは思わないですものね。(思う人もいるかもしれないですが)今後も授業の最中に垂らされる小さな釣り針を逃さないようにしていきたいものです。(うまい)

 

逆に言えば、そういう意識を持たなければサラサラっとすぐに過ぎ去っていきそうですね。大学の授業って。能動的に行かないとなんにもなりませんよね。今日も講義の終わり際に教授が一人でボーッとしていらっしゃったので話しかけてみようかな〜〜と思ったりしたものの勇気が出ずに話しかけられませんでした。(チキチキ)やっぱ友達を作るのも大事だけれども、既に大成されている(大活躍されている)第一線の人と触れ合える機会ってそうそう無いと思うので(大学を出たら特に)(というか全くなさそう)、頑張って話しかけてなんかコネコネしたい感はあります。

 

どうあがこうと授業は受けねばならんので(そういう言い方はちょっといろいろかなり語弊があるんですけど)、であるならばやっぱり最大限其れを活用していきたい。という考えが生まれたのはずばりTwitterを眺めていたから。オジさん方(お兄さん)が大学の有用性というか、今になってそうしとけばよかった〜〜っと嘆いている方の多いこと多いこと。もちろん人間ないものねだりというか、過去への嘆きは当然あるものなのでそのまま鵜呑みにはしませんけども、普通なら大学を出てから、それを失ってから気づくような情報を手に入れ放題なわけでありますから、ありがたい話です。(文体が記事ごとにブレブレで困っている。気分の問題すぎる。)

 

そこで今は具体的なメソッドというか型を探っている最中であります。手帳を使うとか毎日の日記をつけてみるとか(ブログがそうかもしれないけど)、空きコマの活用の仕方とか。サークルどうしようかとか。朝の時間をなにしてようとか、講義の最中なにしてるかとか、お昼ご飯何食べるかとか(そもそも食べないとか)。

 

何気にこの中で一番大きな問題はオヒルゴハンだったりします。なぜかというとボクは受験期にずっとお昼を抜いていたので、(眠くなるから)もう体質としてお昼ご飯食べなくてもいい感じになってしまってるんですよね。でもやっぱお昼ご飯ってただ空腹を満たすためだけでなくて友達とオシャベリしたりする時間として超重要じゃないですか、特に知り合ったばかりの状況では。。なので困ってますよね。今日も3限は半目で受けていました(メッチャキツイ)。今のところの作戦としては朝にコーヒーがぶ飲みが最有力です。カフェインパワーに頼りましょう。

 

正直な話、(Truth to be told)ガチガチの運動部でもない限りお昼ご飯マジでイラネェ派です。(まあ半年間の訓練の結果なんだけど)もう全然昼食取らなくても耐えれるし(よゆう)、取ったら確実に眠くなるしその眠気を無理に耐えたら頭痛くなるし。やれやれって感じすぎる。

 

やっぱカフェインパワーが最有力かな。そんでバイトというものにも悩んでいる。悩み多きかなって感じ。きっといいことですね

 

 

機械的な英単語の暗記、数学や物理、プログラムの学習のモチベ等

英単語を機械的に暗記し始めたのは高校で単語帳を手に入れてからだろう。ターゲットに始まりシステム英単語や速読英単語、リンガメタリカや速読速聴Advancedあたりなどをなんとなく習得して受験を終えた。そしてそこからTOEFL3800と英検1級パス単。もうかれこれ7〜8冊はこなしたような感じだ。今思えば受験生の時にもっと早くからTOEFLや英検1級などの単語帳に触れていれば良かった。どうせ受験用の単語帳に収録されている単語なんてどれも似たり寄ったりなのでさっさと先に進めば良かったのだ。(ホントに今思えばって感じだけど)ただまあ受験用の単語帳だけで受験は十分にオーバーキル出来ることも事実なので、必要最低限という意味では間違ってないんだけど。

考えて見ると受験用の英語の文章って非常に特殊で、よくあの簡単でも難しくもないレベルの語彙の文章を大量に用意できるよねっていうところを不思議に思った。

 

 

 

そろそろ大学が始まるので大学の授業にモチベーションを戴いて数学や物理もゴリゴリやっていきたいところではある。一応成績もとっておかないとイイトコロで研究できないしね。昨日読んだ(ブログも書いた)「読書論」と話は繋がるんだけれど、なぜ自分が数学や物理よりも英語に比較的モチベーションを高く保っていられるのかっていうとやっぱり英語は覚えた分がそのまま実用にすぐ繋がるからだよね。習得した知識をすぐ実用できればやっぱりそれは面白さ楽しさに繋がるし、そのままモチベーションの維持にも繋がる。いいことづくめ。だったら数学や物理は実用につながらないのかよってそんな訳はないんだけど、何分いくらか抽象的だから(だからこそどんな分野にも繋がっていくのだけど)その学んだ結果がすぐに実用に結び付けられるビジョンが見えなくて、モチベーションの増加にうまく繋げられないということ。

 

この問題に関しての解決策としては2つ考えられると思う。1つはその実用面、つまり学んだ数学なり物理の知識が(技術が)実際にどんな場面でどんな風に使われているのかを学ぶコト。それによって目標をある程度具体化していく。これは数学や物理を学ぶと同時にしていきたいこと。

もう1つは学問としての楽しさを追求するというコト。つまり、この問題が解けた!という楽しさであったりあの難しい概念を理解することができた!という達成感であったり。

後者の方は、一時的には達成することは簡単だと思うのだけど、その達成感のサイクルに点火をするにはしっかりとした準備というか心構えが必要な気がする。こうやって適当なこと言うことは出来るんだけれど、実際に数学書を開いて数式を前に戦おうとすると、その戦に必要なエネルギーは凄く高くて、やっぱりそこには大学の講義であるとか友人であるとか、そういった数学を学ぶうえで周りの環境というのは不可欠なのかなと思う。もしくはそのエネルギーを上回るほどの強い動機が必要なのかな。例えば仕事でどうしても数学の基礎知識が必要であるとか、数日後に誰かに数学を教えなければいけない状況(どんな)にあるとか。そんで自分はしばらくしたら前者の環境が得られる(ハズ)ので、この機会に学び尽くしておきたいと思っている。

そしてしばらくプログラミングを(といっても数日だけど)触っていないのだけれど、なにぶん入学やらいろいろ忙しかったので英語だけで手いっぱいでござった(ヤレヤレ)。自分の中でプログラミングは、高校で必修として習う日本史や世界史などと同じ位置においているので(いわば基礎教養?)、理由なしにでも身につけたいと思っている。(大学生どうせヒマだし)ただ何を学ぶにしても独学でさらに初学の段階というのは、しばらくほっておくとすぐに0の状態に戻ってしまうので大変だ。この前は毎日ちょろちょろと少しずつ(これがダメ)プログラミングの勉強をしていたのだけれど、今度はガッツリと1日中時間を充てて取り組みたいと思っている。(最初の離陸のエネルギーは高いからね)(最初が肝心なのだ)それで一旦離陸してしまえばある程度てきとうやっていても継続してやっていればどんどんチカラがついてくる。(ハズだ)

 

さあ、パス単の暗記にもどりますか。。。

 

karia68.hatenablog.com

 

【読書メモ】「読書論」小泉信三著 を読んだ。

  1. 本の内容
  2. 何故読んだのか
  3. 内容についてのアレコレ

 

読書論 (岩波新書)

読書論 (岩波新書)

 

 

1.本の内容について

この本はいわゆる読書論を取り扱ったものであり、全10章で構成されている。初版は1950年で、著者の小泉信三さん(1888〜1966)は慶應義塾大学政治学科卒業、同学科教授を経て塾長となった方である。(らしい)

 

2.なぜこの本を読もうと思ったのかについて。

大学生となってある程度時間の余裕も出来たので、(ありがちな)本をたくさん読もう!と思い立ち、いわゆる名著と言われているものを(例えばマルクス資本論であるとか)本屋で手に取ってみたものの、文章の量も多く、内容も非常に難解で、コレはきっと途中ですぐ挫折するに違いないと悟った。ので、そこからそもそもの何のために本を読むのかというところに疑問を抱いたからである。(あいまいだ)もちろん実利的な(読めばすぐ効果が出るという)意味で、読書に意味は大いにあるとというのは分かる。例えば受験生という立場から言えば数学の勉強の仕方という本を読めばそれはそのままお受験の点数に結びつくだろうし、料理本を買ってその通りに料理を作ればまず間違いなく美味しく料理を作れるだろう。(それはそう)なのでそういう近視眼的な考え方からすれば、読書には利点がイッパイ〜。なのは間違いない。

 

だがそこで、例えば古典的な名著(さっきもいった資本論であるとかシェークスピアのなんたらだとかアダムスミスの国富論であったりとか)を読んだとして、それも非常に苦労して読んだとして、それでどうなるのだ?という非常に素朴な疑問が湧いてきた。そもそもの読書について知りたくなったのである。(ふ〜ん)

 

 

3.内容についてのアレコレ

 

第1章は「何を読むべきか」というタイトルになっている。

 

ここで著者は、読書の方針は自ら見いだすことが大切だと言った上で一般方針として古典的名著を読むことを勧めている。(へえ)そしてその次の段落で、古典といってもそれは古い書物という意味に限らず、第一流の標準的な物という意味でも使われていると説明している。ここでの古典的の意味は後者の方であるとも。

つまり古典的名著を読め、とは第一流の標準的な書物を読めということになる。(ほう)

 

そして次に、読書の利益について触れている。(キタ)ここではボクが上で書いたように、すぐに役立つ本と(さっきの料理本とか)すぐには役に立たない本(古典など)に分けて考察している。

 

そんで、読み進めているウチに、どんな分野どんな世界でも通じる至言を見つけた。著者は工学博士谷村豊太郎氏のその発言を引用して、読書論に絡めている。その言葉が、コレ。

 

「すぐ役に立つ人間はすぐ役に立たなくなる人間だ」

 

 

この章はまだしばらく続きがあるが、この一文を見つけただけでごっそさんです。という気持ちになれた。この言葉は読書に限らず現代のあらゆる場面に通じるところがあると思う。特にAIが暴れまわる今の時代においては。

 

ただやはり目先の利益につられてしまうところはある、そもそもそういう意識が無ければ素直に本屋で分厚い古典を買っていたハズだからだ。Aの本を読んで習得すればすぐに(ありふれた)知識が手に入る、Bの本を読んでも特に目に見えるものは得られない(しかも特大ボリュームで内容は小難しい)。となるとやっぱり常にAを選びたくなってしまう。

 

だが一度もBの類の本を読まずに語るのも(食わず嫌いする)おかしい話だと思うので、一度は読もうと思っている。(ん〜〜でもな〜〜〜〜、、、という気分)

 

 

 

第3章の語学力という章は今現在英語を頑張ろうとしている自分にとっては面白い章だった。

この章で著者は、読書を存分に楽しむためにはぜひとも一つでも外国語をものにしておきたい、なぜならそれは長い一生から見ると多くの利益と、楽しみを開く鍵をもたらすからである。というような感じのことを述べている。

 

で、す、よ、ね〜〜〜〜という感じで嬉しい。そして1950年の本だけれども、外国語習得において精読と多読の2つの方法の併用を勧めている。(すごい)やっぱり今も昔もやることは変わらないのですねと言う感じ。

 

 

ちょっと書くのに疲れてきたので一旦ここで。大学生はじめに読書についての本を読んでおいたのはその後の読書体験に良い影響を与えてくれるのではないかなと思う。(希望)あとは1章ずつ感想を書こうとしたけどそれは多すぎるので諦めた。

 

ブログになんか文字を書こうとすると、2000文字あたりで一旦限界がくる気がする。自分の場合は。

 

ちなみにボクの読書についての考え方はというと。

本というのはただの情報を書き連ねた紙ぐらいに思っている。でもきっとそれは本質で、例えば学校の体育館で凄く話の面白い人が講演にきてくれたとして、その人の話を皆が食い入るように聞いていたとして、その人のお話一言一句をメモした紙が用意してあったとして。そういう状況があればきっと皆がそのメモを欲しがると思うのだけれど、でも本を習慣的に読むって言う人は少ない。

けれど本質的にはそのメモと本って何も違いはなくて、むしろメモの方は1時間講演したとしても数十ページもあるかどうかだろうけど本は数百ページは当然ある。そして本の方が内容も精査されているしより正確だろう。

 だとするなら講演を食い入るように聞いていた人たちが本(ただの情報の塊)を読まない理由はない。だってそれくらい面白い情報がもっとたくさん詰まっているのだから。もちろん講演を興味ねーやという人たちはそれには当てはまらないけど。

 

なにがいいたいかよくわからないけど、本っていっぱい情報つまってて、オトクだよね。

 

さらにちなみにこうやって読んだ本の感想を書くのはより深く内容を頭に入れるためです。(こんな文章でも2500文字くらいあります。たいへん。)

『独学プログラマー』でPythonを0から学んでみる(6)

 

karia68.hatenablog.com

 

 

続き。

 

 

とは言ったものの、10章でハングマンを書き終わってから実践練習に飢えていたのでCheckiOというサイト

py.checkio.org

 

で練習問題に取り組もうとしている。

 

 

が、一番簡単なランクの問題達にも絶賛大苦戦中であります。デスクトップパソコンとMacbook2台を併用して、Macでコードを書きつつ(すごい遅い)、デスクトップでPythonの知識を調べまくるという戦法を取っています。

 

コードを書いている時間の95%は調べる作業にあてていますが、ウンウンうなりながら調べまくって、とりあえず書きなぐりまくろうと奮闘しています。

 

分からないなりにそうやってゴリゴリ調べ物をしていると多少見えてくるものがありますね。例えば『独学プログラマー』では6章の文字列操作のあたりとか軽く読み飛ばしましたけど、実際CheckiOで問題を解こうとすると、大文字を空リスト作って.lowerで小文字にして.appendしたりだとか、replace(" ","")で半角スペースを消すだとか、、

 

 

(ものすごく初歩的な話なんですが)

 

やっぱり能動的にやってみないとつかめませんよね。

 

ひとまずは知識を検索しまくりながら、CheckiOの問題をぶっ潰しまくろうと思います。そしてしばらく実践して楽しくなって来たら、流れとしては最高ですね。

 

 

ただ、調べようとするとまだまだ日本語の情報は多いとは言えない感じですよね。もちろん自分の知識がないので、調べ方(検索の仕方)が下手くそなのもあるとは思いますが。Googleで多少英語で検索したからと言ってそうそう一番上にすぐ英語の記事が来たりはしないですよね。

 

まあここはそれもメリットだと思って、英語の記事もガンガン読んでいく所存でございます。

 

 

あとは

teratail.com

という、プログラミング質問サイトに大変お世話になっております。

 

 

やっぱり一人で(しかもドドド初心者)、間違っているコードと長時間にらめっこしてその間違いが見つけられるかと言ったら、、、そうではないので。。。

 

 

 

ど素人が長時間無駄にする前に、ここにコードを書いて熟練の方々にご指摘をしていただいております。誠にありがとうございます。本当にありがたいサービスですね。

 

 

ネットのみなさまの、そして書籍の力を借りて、これからもがんばるゾイ。

(いや、プログラミングむじゅい)

 

 

 

karia68.hatenablog.com

 

【出る順パス単】パス単 英検1級の覚え方!【☆効率的☆】

f:id:karia68:20180331130231j:plain

1,まずこの記事を読みます

 

karia68.hatenablog.com

 2,終了です。お疲れ様でした。

 

 

 

 

 

『独学プログラマー』でPythonを0から学んでみる(5)

 

karia68.hatenablog.com

 ハイ、続きです。

 

 

前回は第8章モジュールまで進めました。 軽く読みました。今回は第9章のファイルから取り組んで行きます。

 

 

軽く読んだ感じだと、この8章と9章で出来ることの幅が急激に広がった感じですね。かといってまだ自分なにもできませんけど。

 

(余談ですが、昨日の深夜にTwitterAtcoderについて親切に教えていただきました。本当にありがとうございました。この独学プログラマーをさらさらと進めつつ、Atcoderの簡単な問題にも挑戦していきたいと思っております。)

 

その方に教えて頂いた記事はコチラです。

qiita.com

 

(懇切丁寧に教えてくださりありがとうございました。また、この記事を書いてくださった方もありがとうございます)

 

 

 

 

 

そういう訳でありまして、第9章ファイルを進めて行きたいと思います。

 

なるほど、プログラムからファイルを呼び出して読み書きする(ファイルを生成する)事が出来るというわけですね。

 

そしていつぞやの(多分この記事)

 

karia68.hatenablog.com

 で言及していた日本語で入力するとエラー問題に対してこのp126に詳しい記述がありました。

 

ファイルを自動的に閉じるwith構文。コレを使えばいちいちcloseを書かなくてもよいということでしょうか。大規模なコードになると一つ一つを開いたり閉じたりするよりこちらを使う方がきっとかなりオトクなのでしょう。(タブン)

 

書いたり読み込んだり、この辺りはまだ大丈夫そうですね(非アスキー文字に気をつけるべし)

 

 

 

 

さて、次はCSVファイルですね。なんですかそれは(Excelをまともに触った事がない)

 

p129の後半の文章は日本語でおkっていう感じですが、まあ要するにCSVファイルもPythonで使えるぜっていう事ですよね。了解です。

 

そしてチャレンジを(CSVのくだりを除いて)さらっとやってみてと。

 

 

 

 

 

 

 

はい、そしてついに来ました第10章:知識を一つにまとめる。

まだまとめるほど知識持ってませんってね。いえ、まとめましょう。

 

この10章では、コレまでに学んだ概念を一つにまとめて、ハングマンというゲームを作っていくようです。ここまでの知識でゲームが作れるのですね。(スゴイ!)

 

ゆったり書き写しつつ中身を把握していきます。

 

 

(、、、え、ステージ作るのが一番難しくないですか(そんなはずは))

(コピペ多用により撃破)

 

f:id:karia68:20180330153621p:plain

 

 

 

逆向きスラッシュがどこか分からずハングマンに走らせているような感じになる。趣を感じますね。

 

 

この次のページを一枚めくるとスゴイことになってるので一旦ここで休憩を入れませう。

 

 

現在 22章のうち10章まで進行。。

 

 

 

 

karia68.hatenablog.com