Date: 2017-02-01
Tags: python

人に教えることで自分の知識を強化する

趣味でStackOverflowとTeratailの質問に答えていたら、Teratailから表彰状をもらいました。

../../../../_images/teratail-award-201612.png

表彰状もらった。2016年12月のPythonカテゴリ1位!

以前から趣味でPythonやSphinxの質問を見掛けたら答えています。

仕事でPythonの講師をしたり、プライベートでPythonやSphinxを教えたりしていることもあって、どう伝えたら分かってもらえるだろう、どうしたら興味を維持してもらえるだろうというのを考えてます。とはいえ、StackOverflowやTeratailは無料のサービスなので、回答するこちらも「教え方の練習させてください」くらいの軽い気持ちでやってたりします。

人に教えるには、伝える事の何倍もそのことを知ってないといけない、という話があります。よく知ってる分野だと「この人にはこのくらいの文章量で伝えるといいかな」とか「コードだけ提示すればいいかな」という判断ができますが、あまり知らない分野だと「おれはこうやったらうまくいったのでどうぞ」くらいしか言えません。そうすると、もっと知ってる誰かが「いやいやこうでしょ」と回答を書いてくれたりします。そこで自分の回答とその人の回答を見比べると、自分も学べるというのが美味しいところです。実際に自分で回答してみてから他の人の回答を見ると、自分の知識がどう足りていなかったのかがよく分かります。

最近、Pythonでの機械学習関連の勉強をしていて、その関連でPandasに触れる機会も増えてきています。Pandasについてはまだまだ素人なので、TeratailでPandasの質問があるとリファレンスとにらめっこしたりGoogle検索したりしながら回答を書いてます。たぶんもっと良い書き方があるんだろうなーと思いながら回答すると、 driller さんがより適切な答を書いてくれるので、良い勉強になってます。これとか https://teratail.com/questions/61131 ですね。

最近おもしろかったのは正規表現の質問です。 あー、ここが分からないのかーというのが分かった貴重な質問ですね。 そして、ググるとあやしげな情報が出てくるのでそれを真に受けてはいけないという例でもあります。 https://teratail.com/questions/63348

Javaを知ってる人がJavaの文脈でPythonを解釈しようとした例 https://teratail.com/questions/62692 も勉強になりました。

アウトプットすると身につく、と良く言われますが、アウトプットする手段のひとつとして、人に教えることで自分の曖昧な知識を定着・強化するのもありかなーと思います。誰かがもし、間違ったことを教えてたら全力で正しい答を書き込みに行こうと思ってます。逆に、私が間違った答えを書いてたら、正しい答を教えてくれたら嬉しいです。

2/2追記:

../../../../_images/teratail-award-201701.png

1月も表彰状もらった!やったぜ!