
Pythonの学習で新しい環境に戸惑ってしまったときの対処法
みなさんこんにちは。
心のPythonコーチ、中村です。
家庭内での家事分担では主に洗濯を担当しています。
最近季節の変わり目で雨や曇りが多かったのに今日は晴れました。
こういう気持ち良く晴れた日に限って洗濯物が少ないんだな...。お、お、おにぎりが食べたいんだな...
## 何でPython始めてる? ##
このブログはPython初心者の方を対象に書くことにしています。
この投稿もそうですが、Pythonの知識0の方と言うよりは、少しコードを書き始めてみた方々に向けて書いてみたいと思います。
Pythonを勉強するにはまずPythonのコードを書いてみる必要がありますよね。
そこでお聞きしたいのですが、みなさんPythonを「何で」書き始めました?
ここ数年のトレンドを独断と偏見で読み取ると、
などの対話環境でPythonコードを実行することに主眼を置いたツールで書き始める方が増えているのではないでしょうか。
一方で、Visual Studio CodeやAtomなど、高機能なテキストエディタでコードを書いて実行してらっしゃる方もおられると思います。
更に今はオンラインでPythonを学習できる環境が整ってきている時代なので、「ブラウザでしか書いたことないです」という方がそろそろ出始めていると予想します。(← 先日、Google Colaboratoryを試していて、自分がPython初心者だったらこうなる可能性大だなぁと思いました。)
私はここで「本来ならこういう始め方をしなきゃいけない!」というような堅苦しいことを言うつもりは毛頭ありません。
むしろ、みなさんそれぞれ好きな環境を選択してPythonを始めてほしいです。
一番大事なのはとにかく始めることです。
## 環境が変わると戸惑ってしまう ##
Python初心者の方を対象にレッスンをしていて非常によく遭遇する事態があります。
それは、Pythonコードを書き込む、または、その後で実行する環境がいつも使っているものと異ると、頭が真っ白になってしまい...、手が止ってしまう... という状態です。
Pythonのコードそのものが日常的に見慣れた簡単なものであっても、それが置かれた環境が異ると、どこをどうしていいのか分からず戸惑ってしまうわけですね。
実はこれ、誰しもが経験することです。
かく言う私自身にも経験があります。しかも、プログラミングを10年以上やっていても未だに経験します。
このような場面で冷静になって学習を進めるために理解していただきたいこと、実践していただきたいことがありますので、今日はそれを書きます。
## 戸惑ってしまうのは普通のこと ##
環境が違うと戸惑ってしまうのは極当たり前の自然な反応だということをまず認識してください。
だからそれはあなただけの問題ではないし、別に恥しいことではありません。
精神的に戸惑っている状態なわけですから、冷静な判断をするのは必然的に難しくなります。
このような場面でコードが1行も書けなかったり、書けたとしてもいつもできていることがうまくできなかったりしても落ち込まないでください!
それは自然なことです。
人間というのは心が静かでないと、高度な思考を行うのが難しいのです。
(MAXに腹を立てた状態で社運を賭けたプレゼンを適切にできるでしょうか? できないですよね。)
## 戸惑っている自分を観察 ##
では冷静さを取り戻すプロセスをご説明しますね。
まず肝に命じなければいけないのは、スイッチを切り替えるようにカチっといきなり冷静にはなれないということです。
冷静になるためにはそれなりの準備と手順があり、それを無視してしまっては、余計に不安定な気分になるだけです。
最初に行うのは、「観察」です。
戸惑っている自分を観てあげてください。
「あー、戸惑ってる。」「戸惑っているのね。」「そうだよね、戸惑うよね。」
という感じです。
戸惑ってしまった原因を追求せず(← これ大事)に、ただ単に、純粋に、戸惑っているという状態を確認してあげるのがコツです。
原因の追求を始めてしまうと、論点が逸れて、これもやはり精神の不安定さを助長する結果を招きます。
## 戸惑っている自分と戸惑っていない自分がいるこを確認 ##
観察がうまく行くと、まずは少し普段のテンポを取り戻せると思います。
これだけでも相当な改善になるはずです。
日常生活の中で観察を頻繁に行なっていると、あることに気付きます。
そうです、観察している自分は戸惑ってなんかいないのです!
戸惑っていることにどっぷり漬かっていた自分、これはそういうふうに思い込んじゃってただけなんですね。
観察という行為を通して切り離せる、ということは、つまりそういうことです。
自分は全身全霊で戸惑っているわけじゃないのです。
戸惑っている部分と戸惑っていない部分の間にグラデーションを発見してください。
このグラデーションの発見までは少し練習が必要かもしれません。
でも、是非がんばってトライしてみてください。その価値はあるはずです。
## 戸惑っている自分のためにスペースを作る(環境のせいにしない) ##
観察をすることで「戸惑っている自分」に対して距離を置いて見れるようになるだけでも大進歩です。
しかし、学習を進めるという局面ではもう一手間かけるとよいと思います。
それは「戸惑っている自分」を否定したり消し去ろうとせず、「受け入れる」ということです。
戸惑ってしまって駄目だなぁと思う自分も、「自分」という世界の中の一部なんだなと認めてあげてください。
無闇にその自分の駄目な部分を排除しようとしてパワーを浪費しないでほしいのです。
一方、せっかく観察のプロセスで見付けた駄目な自分を排除することに全力を傾けてしまいますと、
・精神はより不安定になります(意識して一度やってみてください)
・「分からないことを解消したい」という本来の目的から逸れてしまいます
・自分を否定する行為はあまり気持ちのいいものではありません
・不快な行為を続けていると、いつの間にか、事態を湾曲する方向に向かいます
事態を湾曲する、とはどういうことか説明します。
新しい環境に戸惑ってしまったのは、自分がその環境に面識がなかったからです。
平たく言えば、自分の無知が原因で戸惑ってしまったわけです。
ところが、あまりにもこの「戸惑い」という感情を否定するあまり闘い続けてしまうと、その戦闘に疲れ切ってしまいます。
疲れ切って負けを認め、白旗を上げれるなら全然良いのです。
問題が発生するのは、負けを認めたくないという思いから、事実を湾曲して処理してしまったときです。
このケースであれば、戸惑ってしまった原因をすり替えてしまうパターンが一番多いのではないでしょうか。
つまり、
「新しい環境に戸惑ってしまったのは、自分がその環境に面識がなかったから」というそもそもの認識から、
「新しい環境に戸惑ってしまったのは、その環境が自分には難し過ぎるから」というように<原因の主体>をすり替えてしまうのです。
話を戻します。
「戸惑っている自分」を受け入れる方向で努力することを推奨している理由はここにあります。
上に書いたようなすり替えを回避してほしいのです。
すり替えるのではなく向き合いましょう。
向き合うには「戸惑っている自分」さんにもテーブルに着席してもらう必要があります。
ですから、「受け入れる」という行為は「スペースを用意してあげる」「席を用意してあげる」とも言い替えられます。
スペースを作ってあげたら「はい、どうぞ」と招き入れるくらいの気持ちで駄目な自分を歓迎してあげてください。
これができれば受け入れ上級者です。
## 先生に質問し問題を解消する ##
戸惑い ー 観察 ー 分離 ー 受け入れ... と個々のプロセスについて長々と書いてきましたが、日常的にはこの一連のプロセスをきゅっと一言にまとめて表現しています。
「分からなかったら聞いてください」
これだけです。
あっけないですね。
自分を観察していると、感情が波立たないときというのは自然と対象を受け入れているんだなと思います。
だから「受け入れ」というのは別に難しいことではなくて、日常的によくやっていることなんです。
問題は感情が波立つほどのインパクトが発生したときにどうやって受け入れるかということなんですね。
受け入れられたら素直に先生へ質問できるはずです。
先生は質問に答えるためについていてくれるわけですから、快く答えてくれるはずです。
(そうじゃない場合は、先生がその質問を受け入れられえていない可能性があります。見守ってあげましょうw)
## コードがどこから来ようがPythonは気にしない ##
Pythonの実行環境が変化したときに解決の糸口として覚えておいてほしいことがひとつありますので、それを最後に書きます。
コードをIDLEに書こうが、Jupyterに打ち込んでいようが、ファイルに書き込んでいようが、最終的にPythonが「実行」するときには、そのコードがどこから来たものかなんて気にしない、というこの事実を今日は覚えて帰ってください!
Pythonが興味を示すのはそのコードの中身です。
そのコードを何で書いたかはには無関心なんです。
だからこれだけ豊富に多種多様なPythonの実行環境があるわけです。
Pythonが無関心でいてくれるからこそ、クリエイターの人たちは自由により便利なものを目指していろんなツールを開発できるわけです。
そのおかげで、「機械学習にはJupyter Notebook」とか「サーバで実行するにはターミナルから直接実行できたほうがいいよね」など、我々Pythonを使う側(ユーザ)は自分に合った環境を選択できるんですね(ありがたいことです)。
ただやはり初心者からすると「いろいろあって余計に分からん」という気持ちにもなるでしょう。
逆の見方をすれば、「いろいろあって分からん」から出発して「いろいろあって便利」と感じるようになれば初心者を脱したと思えるんじゃないでしょうか。
我々コーチの役目はそこに導くことだと思っています。
## 営業活動 ##
note の投稿を読んでPythonのレッスンに興味を持っていただけましたら、お気軽にご連絡ください。
お問い合わせフォームはこちら
https://note.mu/kokoronopython/message
どうぞよろしくお願いします。