【Pythonプログラミング入門】デコレータを解説! 〜VTuberと学習〜【初心者向け】

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025

Комментарии • 44

  • @NET-mo7yp
    @NET-mo7yp 3 года назад +7

    具体例あり、何度も関数名を呼んでくれる、非常にわかりやすい

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад +1

      コメントありがとうございます😊
      デコレータは難易度が高めなので、分かりやすく説明する工夫をいろいろしたので、そう言ってもらえて嬉しいです!!

  • @konoyonoblue
    @konoyonoblue 2 месяца назад +1

    python技術者試験のテキストの、デコレータの章がややわかりにくかったため、こちらの動画が非常に参考になりました。
    初心者向けとありますが、良い意味で高度な内容でした。

    • @pythonvtuber9917
      @pythonvtuber9917  2 месяца назад +1

      python技術者試験にはデコレータも出てくるんですね!!この動画が試験勉強のお役に立っていたなら嬉しいです☺️

  • @iKami-jv9ml
    @iKami-jv9ml 3 года назад +9

    デコレーターはこのように具体例がないと感覚として掴め辛いので、基礎がある程度終わった中級者には非常に助かる動画だと思います!

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад

      コメントありがとうございます😊 デコレーターは具体例を入れながら、できるだけ分かりやすい動画を作ろうと思っていたので、そう言っていただけて嬉しいです!!

  • @fuemma--7122
    @fuemma--7122 4 месяца назад +3

    教え方がめちゃめちゃうまい💦やぱサプーさんすごいです😊

    • @pythonvtuber9917
      @pythonvtuber9917  4 месяца назад +3

      そう言ってもらえて嬉しいです☺️ デコレーターは私も初め「??」だったので頑張って動画作ってみました!

    • @fuemma--7122
      @fuemma--7122 4 месяца назад +2

      @@pythonvtuber9917 わわわ💦憧れのサプーさんから返信きて、めちゃめちゃ嬉しいです😭

  • @python215
    @python215 3 года назад +7

    すごく分かりやすかったです!良い動画ありがとうございます😆

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад

      ご視聴ありがとうございます😊 そう言っていただけて嬉しいです✨

  • @YS-cc3dq
    @YS-cc3dq 3 года назад +3

    わかりやすい解説ありがとうございます!!!!!

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад

      コメントありがとうございます😊
      デコレータは理解が難しい内容なので、分かりやすいと思ってもらえて嬉しいです!!

  • @hiro-sx6bc
    @hiro-sx6bc Год назад

    わかりやすくて助かります

  • @hideq1004
    @hideq1004 3 года назад +2

    dataclassの解説動画以降、「@」が出てきてもビビらなくなりました。今回も目をキラキラさせて拝見させていただきましたー

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад +1

      ご視聴いただき、ありがとうございます!!「@」への抵抗感がなくなったようで嬉しいです😊

  • @chacha5724
    @chacha5724 3 года назад +2

    今まで重複した中身の関数を何度も書いてて、何か方法ないのかなぁ?ってずっと思ってました。
    やりたいことだけ検索している独学1年生なのでこれは非常に勉強になりました!

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад +1

      いろんな動画をご視聴いただきありがとうございます😊
      デコレータはちょっと難易度が高いですが、面白い機能なので、ぜひ使えるシーンで使ってみてください!!

  • @えるふぃ-b7u
    @えるふぃ-b7u 3 месяца назад

    行ってる処理自体は普通のことだけど、@を使って分かりやすくできるって感じなんだ

    • @pythonvtuber9917
      @pythonvtuber9917  3 месяца назад

      おっしゃる通り簡単に処理を差し込む仕組みですね!

  • @asatosi69
    @asatosi69 2 года назад +1

    いつも楽しい動画ありがとうございます。
    はじめ、start_end(print_apple)()
    の後ろの『()』の意味が分からず、戸惑いました。
    関数『start_end(print_apple)』を実行すると、
    返り値として関数『add_start_end』が返ってきます。
    この返り値の関数関数『add_start_end』を実行するために『()』を
    記述していたのですね。
    よくわかりました。

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад

      コメントありがとうございます!理解できたようで何よりです😊

  • @Estelesjeux
    @Estelesjeux 4 месяца назад +1

    Java出身なのでずっとアノテーションだと思ってました…😂

    • @pythonvtuber9917
      @pythonvtuber9917  4 месяца назад

      確かにJavaだとアノテーションですね!!

  • @松田浩二-z8z
    @松田浩二-z8z Год назад +1

    初めまして、print(f'a-b')のfの意味をお教え下さい。

    • @kamukami295
      @kamukami295 7 месяцев назад +2

      fを使うと変数などを文字列に埋め込めます。 例えば
      sum = 25 + 24
      print(f”計算結果は{sum}”)
      とすると{}の中にある変数などの結果を埋め込めます。今回の実行結果は、
      「計算結果は49」と出力されます

  • @takek9215
    @takek9215 Год назад

    vscodeでステップ実行で関数ごとにデコレーター内にステップインしてしまうので、デコレータ内をステップ実行の対象外にしたいけどやり方がわかりません。

  • @tsubasa_km
    @tsubasa_km 3 года назад +1

    なんか関数が関数で関数だから関数なんだよなぁみたいな感じで難しいですねデコレーターって笑がんばろ

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад +1

      関数がたくさん出てきて、こんがらがっちゃいますよね😂
      一つずつステップを踏めば理解できるトピックだと思うので、ぜひご参考にしていただけたらと思います!

  • @riya401
    @riya401 2 года назад +1

    @マークつける書き方はメモ化の動画で見た気がする……。
    @cache はこれだったのか。

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад +1

      はい、そうです!!色々な動画を見てもらえて嬉しいです!

  • @yusukets867
    @yusukets867 2 года назад

    ありがてー

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад

      そういっていただけて嬉しいです!!

  • @Eginger2525
    @Eginger2525 2 года назад

    初学者です。サプーさんの動画に大変助けられてます。
    質問宜しいでしょうか?
    戻り値のある関数の例で、
    def add_start_end(*args, **kwargs):の中の
    x=func(*args, **kwargs)において、
    print('add_exclamationが実行されました')は即座に実行されてますが、
    一方のreturn text + '!' の結果はxに代入されています。
    何故同じ関数内の処理なのにこの様に割り振られるのでしょうか?
    また、この辺りの理解を深めるにはどの単元を勉強したらよいのでしょうか?
    ご教示いただければ幸いです。

    • @pythonvtuber9917
      @pythonvtuber9917  2 года назад

      質問の意図がちょっと読み取れなかったのですが、関数の戻り値を設定しているからという回答で理解できますでしょうか?Pythonの関数について理解できていない場合は、関数の復習から行ってはいかがでしょうか?

    • @Eginger2525
      @Eginger2525 2 года назад

      ご教示ありがとうございます。関数の基本を拝見させて頂きました。結局 xは戻り値だけの為にあり、 print('add_exclamationが実行されました')の為にある訳ではないと理解しました。print文とreturnがfunc(*args, **kwargs)内で同居しているので、print文もxに格納されてしまうのではと初学者的に思った次第でした。只、returnが本来の機能を果たすのなら、戻り値用のx等を用意しなくても、そのままadd_exclamation('これはリンゴです’)に戻り値を返してくれないのかなぁ?という新たな疑問が生まれてしまいました。立て続けで誠に恐縮ですが、これもご教授いただければ助かります。良い動画を指定していただくだけでも結構です。宜しくお願いします。

  • @bluespringhero
    @bluespringhero 3 года назад

    getterに解説お願いします!

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад

      コメントありがとうございます!propertyと合わせて検討してみますね😉

  • @織田帰蝶-b4j
    @織田帰蝶-b4j 2 месяца назад

    モジュールトレース採取機能を検討しています。
    デコレータ側で呼び出し先の関数名の採取が出来ますか?また、呼び出し先の関数の呼び出し元スクリプト内での位置(行数)が表示出来ますか?

  • @omochanokuni
    @omochanokuni Год назад

    🇯🇵🇯🇵いいですね

  • @4-15Seminar
    @4-15Seminar 3 года назад

    大変勉強になります。デコレータは少し難しかったです。
    start_end(print_apple)()
    ではなく
    f=start_end(print_apple)
    f()
    と書いてもらえばわかったと思います。
    少し悩みました。
    でも、もうわかりました。
    start_end(print_apple)  --> f
    start_end(print_apple)() --> f ()
    ですね。

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад +1

      ご視聴いただきありがとうございます!
      おっしゃる通りstart_end(print_apple)() --> f () という記載だと分かりやすいですね✨

    • @4-15Seminar
      @4-15Seminar 3 года назад

      @@pythonvtuber9917
      ありがとうございます。
      もう一つ質問ですがよろしくお願いします。
      @start_endをつけてデコレータを記述した場合、
      add_start_end(_text)や
      return add_start_end
      は呼び出し側で記述しなくなりますが、
      これは暗黙のうちに、@start_endで指定された関数内関数の戻り値(関数)
      例えば動画内での
      print_join_dashi('163', b='8001')という記述は、
      add_start_endの戻り値であるデコレートされた関数
      すなわち、add_start_end('163', b='8001')を実行ることと
      同義になるという理解でよいでしょうか。

    • @pythonvtuber9917
      @pythonvtuber9917  3 года назад +1

      ご質問ありがとうございます!
      おっしゃる通り@を使った場合は、”暗黙的”にデコレートされた関数が呼び出されたことになります😉