3.5系を使いつつもプライベートでは最新の3.6系を使いたいので、3.5系は公式バイナリ、3.6系はHomebrewで入れてます。work_envのようにして3.5系の環境を用意し、プライベートではipythonやjupyter系含めて3.6系を使用するようにしています。使用するライブラリが多いので仮想環境は用意しないことが多いです。Pythonがメインプログラミング言語の選定はその人が何を実現したいかによる部分ですが、私の例だと個人で運営しているサービスとして「Twitterの情報からコミケ等のサークルチェックが簡単・便利にできるサービス」という触れ込みのsubcatalog、ライフワークとして4コマ漫画の評論をプログラムで推進することをやっています。これらの分野に優れたライブラリが存在すること、私の使用範囲においてはそこまで高いパフォーマンスが必要ではないということから、基幹言語はPythonですべてまかなえています。いうのは冗談にしても、だいたいのジャンルでやりたいことはカバーできるので今からプログラムを学び始める人にとっては良い選択肢のように感じられます。Pythonの情報を探すと英語で読まざるを得ないことは多いですが、問題解決だけなら簡単な単語とコードを読めば済むのでけっこうどうにかなります。人気の言語ランキングや言語別年収ランキングで上位に来るなんて話もありますが、実際そこまで参考にするようなものではないと思うので、用途に合わせた選択をするのが良いです。色んなレベルの人に学びがあるPython入門者向けハンズオン等のイベントでメンターをしたり、プライベートの時間でもPython初心者向けのテキストを書いていたりするのですが、双方で期待する受講者の到達レベルの1つに自分のやりたいことがプログラムで実現できるというものがあります。何を教えるべきかというと、とあるプログラミング入門者向けの本に「どのプログラミング言語でも使う8つのキーワード」というものが載っていました。制御文if制御文for関数・引数・戻り値クラス・インスタンス・メソッド以上の8つですが、はあはあなるほどというラインナップで、クラス・インスタンス・メソッドはともかくその他の概念を理解してもらえばまずは何か作れるようになりそうという気持ちになれます。「初心者」のレベルが違うために「どう教えるか」のところで分岐ができてしまいます。大きなところとしては、プログラミングそのものが初めての人と他言語経験がある人とは説明すべき内容が違ってくるというものです。書籍のような静的コンテンツでは無理なく説明できる範囲に限界がありますし、対面型で人が人に教えるのは講師・メンター側の力量が問われ、良いものを提供しようと思ったらコストが大きくなります。いうただの宣伝なのですが、これを対面型の研修に導入すると、講師は最低限のフォローをするだけで受講者は独立でどんどん進めるので非常に楽になります。チーム機能を使用すればメンバーの学習状況もまとめて見られるので、色んな人が幸せになります。中級者向けにもunittestの書き方、argparseの使い方、docstringの書き方、loggingのしかた等の1つ1つのまともな使い方を調べるだけで時間がかかるコンテンツがまとめて学べるのはいい部分かと思います。ここまで細かい内容で問題を作っている他のオンライン学習サービスさんはないかと思っていますが、もしいらっしゃったらこっそり教えてください。どんな問題があるのかはクエスト一覧をご覧ください。まとめPyQをよろしくお願いします。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。