5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
aliceさんの投稿
(投稿ID: 5394)
動画でアドバイスをいただけるとは思っていなかったのでドキドキしながら拝見しました。
私の思考がぐちゃぐちゃなのがよくわかりました。
いやーひどいですね(lll¬ω¬)
私の頭の中ぐちゃぐちゃだなー、ひどいなー以外の感想が思いつきません。
ちなみに「コメント欄に書いたようなコードを書きたかった」のではなく、「やりたいことをするにはそれしか思いつかなかった」がというのが現状です…。
日本語でロジックを書いてみたのですが、まぁひどいですね( ̄_ ̄|||)
年末くらいには今書いているコードを見て成長を感じられるくらいになっていたらいいなと思います。
ご提案いただいたリライトもどのように書けばいいのか思いつかないので、調べながらチャレンジしてみます。
まずはモジュールレベル変数を関数に渡さずに使わないように気を付けます。
ありがとうございました!
小川 慶一さんのコメント
(コメントID: 7869)
なお、以下は、もっとシンプルに書けそうな気もしますが...。ささっと試した範囲ではうまくいかなかったので、構造3つになってしまっています。
aliceさんのコメント
(コメントID: 7871)
質問というか相談なのですが、このお題について、もし小川先生が私の立場だったら次のステップとして何をされますか?
私が思いつく選択肢としては次の2つです。
①小川先生が提案されたロジック(動画8:08くらい)を小川先生のコードを見ないでやってみる
②小川先生が書かれたコードをじっくり読みながら書いてみる
普段の私だと①なのですが、なんかいつもと同じ選択をするのも違うような気がしていて…。
いつもと違う選択をすると②なのですが、ここは選択肢③先に行っている人に聞いてみる!を選んで質問させていただきました。
それと別件なのですがAPIの件もありがとうございます。
少し時間をください。
というよりなんで私はあんなにリストを使っていたのでしょうか?辞書の方がkeyを指定すれば値をとれるから便利なのに…、と思っています(^^;
小川 慶一さんのコメント
(コメントID: 7873)
今回だと、実質13行しかないコードなので、僕だったら、弄って遊びつつ、何度か写経しつつ、としてまずは慣れて、あとは、見ながらでもいいから本気で書いていって、次第に何も見ないで(ウェブ上のドキュメント/解説記事参照可、エディタの支援機能可)で書いていって...としつつ、タイムトライアルしますかね。
つまり、「②小川先生が書かれたコードをじっくり読みながら書いてみる」だけでなくて、「手早く書き上げる」練習もおり交ぜて。
あとは、エクセルマクロの演習のころから言っているとおり、「横に誰かがいて、その人に教えてあげているかのように、説明しつつ書く」ですね。
説明してみると、自分がどこが分かっていないのかがよく分かります。
あとは、さらに余裕があれば、 docs.python.org で今回登場した機能を検索して、その近傍に紹介されているメソッド等をさらっと眺めるかもしれません。(あくまで、余裕があれば。今はないだろうと思いますので...あくまで、今後に向けての参考までに)
> というよりなんで私はあんなにリストを使っていたのでしょうか?辞書の方がkeyを指定すれば値をとれるから便利なのに…、と思っています(^^;
慣れてないからだと思いますよ。
慣れてしまえば、辞書のほうが、インデックスに文字列を使えるので便利です。
エクセルマクロでもそうですよね。
たくさんシートがあったとして、 Worksheets(7) と番号で指定するより、 Worksheets("決算") とシート名で指定するほうが可読性、メンテナンス性が高いです。
aliceさんも、エクセルマクロだったら、以下の[1]よりも[2]を好むものと思います。
Pythonにも、そのときと同じ感覚で触れてください。
小川 慶一さんのコメント
(コメントID: 7875)
> ①小川先生が提案されたロジック(動画8:08くらい)を小川先生のコードを見ないでやってみる
これはないかな...と思います。
今回の場合、設計段階から見直さなくてはならないので。(というか、あれを直しつつ今回僕が提示したものに持っていくほうが大変です)
「まがりなりにも、書ききった」という経験を頼りに、僕が提示したコードを読んで体感していくのが良いかと思います。
aliceさんのコメント
(コメントID: 7876)
「②小川先生が書かれたコードをじっくり読みながら書いてみる+手早く書き上げる練習」でいきたいと思います(●'◡'●)
>弄って遊びつつ
その心の余裕がなかったです(^^;
>「横に誰かがいて、その人に教えてあげているかのように、説明しつつ書く」ですね。
>説明してみると、自分がどこが分かっていないのかがよく分かります。
その視点は抜け落ちていました。ありがとうございます。
step1 慣れるまで書いてみる(弄って遊びつつ、何度か写経する)
step2 見ながらでもいいから本気で書く
step3 次第に何も見ないで(ウェブ上のドキュメント/解説記事参照可、エディタの支援機能可)で書く
step4 タイムトライアルをする
step5 docs.python.org で今回登場した機能を検索して、その近傍に紹介されているメソッド等をさらっと眺める(余裕があれば)
※横に誰かがいて、その人に教えてあげているかのように、説明しつつ書く(説明してみると、自分がどこが分かっていないのかがよく分かる)
まずは、step1から始めてみます(❁´◡`❁)
今回はファイルの操作でしたが、他のことを学ぶときにも同じ方法で学んで行こうと思います。
openpyxlの演習にstep5+教えているつもりで書くですね。
忘れないようにメモしておきます!
ちなみに、普段の私は「①小川先生が提案されたロジック(動画8:08くらい)を小川先生のコードを見ないでやってみる」です(^^;
その結果このようなことを感じていました。
・とりあえず完成はするけどそのときに使ったメソッドなどを覚えている(他の場面で使える)気がしない
・サクッとできるときは楽しいけど、はまるとものすごく疲れる
かけている時間に対して絶対効率悪いなーと感じていたので、ご回答いただけて嬉しいです。
> ①小川先生が提案されたロジック(動画8:08くらい)を小川先生のコードを見ないでやってみる
>これはないかな...と思います。
このように言っていただけてスッキリしました。
ありがとうございます!
最近は煮詰まったときに質問するタイミングが難しいなーと感じています。
ある程度時間をかければ自分で解決できることが多いのですが、質問した方が自分では考えつかなかった方法を提示していただけるので聞いた方がいいんだろうなーと思いつつ、どのタイミングで聞いたらいいんだろう?と思っています。
>エクセルマクロでもそうですよね。
>たくさんシートがあったとして、 Worksheets(7) と番号で指定するより、 Worksheets("決算") とシート名で指定するほうが可読性、メンテナンス性が高いです。
エクセルマクロに例えていただけるとよくわかります。
ひどいコードでしたが学ぶことがたくさんあったので、ノートに投稿して良かったです!
ありがとうございます!
田中 宏明さんのコメント
(コメントID: 7877)
いつも横からすみません。
まずは「10日前より前のファイルだったらコピー」を思いつき、
それを実現したaliceさんの勝ちだと思います。
ここから先、技術的な高みを目指される中、何のためにそれをするのか
を考えたとき、Python講座参加者への貢献、aliceさんの職場の皆様に
感謝される内容を意識されていれば、すべてが正解かなと思います。
動画はレベル高すぎで、やり取り眺めているだけですが、とても刺激に
なります。
どうもありがとうございます。
aliceさんのコメント
(コメントID: 7879)
いつもコメントくださりありがとうございます!
>まずは「10日前より前のファイルだったらコピー」を思いつき、それを実現したaliceさんの勝ちだと思います。
田中さんにそのように言っていただけて嬉しいです(❁´◡`❁)
あたたかいお言葉をありがとうございます。
>ここから先、技術的な高みを目指される中、何のためにそれをするのかを考えたとき、Python講座参加者への貢献、aliceさんの職場の皆様に感謝される内容を意識されていれば、すべてが正解かなと思います。
何のためにやっているのか…、実はよくわかっていないのです。
(そもそも何ができるかもよくわかっていません。)
今はPythonはなんでもできる魔法のように感じていて、1つずつ使えるようになっていくのが楽しくて、試しながら使っています(●'◡'●)
何かPythonでお役に立てることができたら良いのですが、今は思いつかないうえに、そもそもそんな実力もないので、楽しみながら学んでいきたいと思います。
ゆくゆくは貢献できるように一歩一歩進んでいきたいです。
田中さんの前向きな姿勢には、いつもハッとさせられています。
こちらこそありがとうございます。
小川 慶一さんのコメント
(コメントID: 7880)
そうは言ってもたぶんされていることと思いますが、何度も同じ操作を試してみてください。
> acliceさん
>> 今はPythonはなんでもできる魔法のように感じていて、1つずつ使えるようになっていくのが楽しくて、試しながら使っています(●'◡'●)
エクセルVBAとは比べ物にならないですよね。
ひきつづき、お楽しみください☆
aliceさんのコメント
(コメントID: 7883)
ありがとうございます。
楽しみながら続けていきたいと思いますー。
お大事になさってください(●'◡'●)