Тёмный

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

Просмотров 35 тыс.
% 904

Pythonプログラミングに関する情報を発信しているサプーです!
この動画はPythonのデコレータを解説しています。
・デコレータとは?
・関数内関数
・デコレータの作り方
これらについて説明しています💙
実際にPythonコードを動かして実演しているので、最後まで見てもらえたら嬉しいです😊
💙 メンバーシップ 💙
説明動画 ▶︎ ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--Pc2SAxKSC4.html
登録 ▶︎ ru-vid.com/show-UC5Kgc_HNzx4GJ-w4QMeeKiQjoin
iPhoneの方はこらから ▶︎ PythonSuppl/status/1466049000658718729?s=20
⭐️ チャプター ⭐️
0:00 今日のテーマ「Pythonのデコレータ」
0:23 デコレータとは?
3:48 関数もオブジェクト
6:09 関数内関数
8:24 変数のスコープ
10:35 デコレータの作り方
14:07 デコレータ実演
19:57 エンディング
💜 チャンネル説明 💜
Pythonプログラミングについて解説するVtuber サプーです✨
初心者でも分かりやすく、Pythonを体系的に学習できるような動画をアップロードしていきます!
みんなが少しでもPythonが好きになってくれたら嬉しいな💕
Twitterもやってるので、フォローお願いします!
Twitter ▶︎ PythonSuppl
メール ▶︎ python.supu.vtuber@gmail.com
#Python
#プログラミング
#デコレータ
#decorator
#デコレーター
#関数内関数
#初心者
#入門
#パイソン
#PythonVTuberサプー

Наука

Опубликовано:

 

25 сен 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 36   
@python215
@python215 2 года назад
すごく分かりやすかったです!良い動画ありがとうございます😆
@pythonvtuber9917
@pythonvtuber9917 2 года назад
ご視聴ありがとうございます😊 そう言っていただけて嬉しいです✨
@NET-mo7yp
@NET-mo7yp 2 года назад
具体例あり、何度も関数名を呼んでくれる、非常にわかりやすい
@pythonvtuber9917
@pythonvtuber9917 2 года назад
コメントありがとうございます😊 デコレータは難易度が高めなので、分かりやすく説明する工夫をいろいろしたので、そう言ってもらえて嬉しいです!!
@hiro-sx6bc
@hiro-sx6bc 6 месяцев назад
わかりやすくて助かります
@YS-cc3dq
@YS-cc3dq 2 года назад
わかりやすい解説ありがとうございます!!!!!
@pythonvtuber9917
@pythonvtuber9917 2 года назад
コメントありがとうございます😊 デコレータは理解が難しい内容なので、分かりやすいと思ってもらえて嬉しいです!!
@iKami-jv9ml
@iKami-jv9ml 2 года назад
デコレーターはこのように具体例がないと感覚として掴め辛いので、基礎がある程度終わった中級者には非常に助かる動画だと思います!
@pythonvtuber9917
@pythonvtuber9917 2 года назад
コメントありがとうございます😊 デコレーターは具体例を入れながら、できるだけ分かりやすい動画を作ろうと思っていたので、そう言っていただけて嬉しいです!!
@MorningChoco
@MorningChoco 2 года назад
今まで見たデコーレーターに関するどの記事よりもわかりやすかったです!
@pythonvtuber9917
@pythonvtuber9917 2 года назад
コメントありがとうございます😊 頑張って動画を作ったので、そう言っていただけて嬉しいです!!
@hideq1004
@hideq1004 2 года назад
dataclassの解説動画以降、「@」が出てきてもビビらなくなりました。今回も目をキラキラさせて拝見させていただきましたー
@pythonvtuber9917
@pythonvtuber9917 2 года назад
ご視聴いただき、ありがとうございます!!「@」への抵抗感がなくなったようで嬉しいです😊
@chacha5724
@chacha5724 2 года назад
今まで重複した中身の関数を何度も書いてて、何か方法ないのかなぁ?ってずっと思ってました。 やりたいことだけ検索している独学1年生なのでこれは非常に勉強になりました!
@pythonvtuber9917
@pythonvtuber9917 2 года назад
いろんな動画をご視聴いただきありがとうございます😊 デコレータはちょっと難易度が高いですが、面白い機能なので、ぜひ使えるシーンで使ってみてください!!
@omochanokuni
@omochanokuni 6 месяцев назад
🇯🇵🇯🇵いいですね
@Eginger2525
@Eginger2525 Год назад
初学者です。サプーさんの動画に大変助けられてます。 質問宜しいでしょうか? 戻り値のある関数の例で、 def add_start_end(*args, **kwargs):の中の x=func(*args, **kwargs)において、 print('add_exclamationが実行されました')は即座に実行されてますが、 一方のreturn text + '!' の結果はxに代入されています。 何故同じ関数内の処理なのにこの様に割り振られるのでしょうか? また、この辺りの理解を深めるにはどの単元を勉強したらよいのでしょうか? ご教示いただければ幸いです。
@pythonvtuber9917
@pythonvtuber9917 Год назад
質問の意図がちょっと読み取れなかったのですが、関数の戻り値を設定しているからという回答で理解できますでしょうか?Pythonの関数について理解できていない場合は、関数の復習から行ってはいかがでしょうか?
@Eginger2525
@Eginger2525 Год назад
ご教示ありがとうございます。関数の基本を拝見させて頂きました。結局 xは戻り値だけの為にあり、 print('add_exclamationが実行されました')の為にある訳ではないと理解しました。print文とreturnがfunc(*args, **kwargs)内で同居しているので、print文もxに格納されてしまうのではと初学者的に思った次第でした。只、returnが本来の機能を果たすのなら、戻り値用のx等を用意しなくても、そのままadd_exclamation('これはリンゴです’)に戻り値を返してくれないのかなぁ?という新たな疑問が生まれてしまいました。立て続けで誠に恐縮ですが、これもご教授いただければ助かります。良い動画を指定していただくだけでも結構です。宜しくお願いします。
@yusukets867
@yusukets867 Год назад
ありがてー
@pythonvtuber9917
@pythonvtuber9917 Год назад
そういっていただけて嬉しいです!!
@asatosi69
@asatosi69 Год назад
いつも楽しい動画ありがとうございます。 はじめ、start_end(print_apple)() の後ろの『()』の意味が分からず、戸惑いました。 関数『start_end(print_apple)』を実行すると、 返り値として関数『add_start_end』が返ってきます。 この返り値の関数関数『add_start_end』を実行するために『()』を 記述していたのですね。 よくわかりました。
@pythonvtuber9917
@pythonvtuber9917 Год назад
コメントありがとうございます!理解できたようで何よりです😊
@takek9215
@takek9215 7 месяцев назад
vscodeでステップ実行で関数ごとにデコレーター内にステップインしてしまうので、デコレータ内をステップ実行の対象外にしたいけどやり方がわかりません。
@tsubasa_km
@tsubasa_km 2 года назад
なんか関数が関数で関数だから関数なんだよなぁみたいな感じで難しいですねデコレーターって笑がんばろ
@pythonvtuber9917
@pythonvtuber9917 2 года назад
関数がたくさん出てきて、こんがらがっちゃいますよね😂 一つずつステップを踏めば理解できるトピックだと思うので、ぜひご参考にしていただけたらと思います!
@bluespringhero
@bluespringhero 2 года назад
getterに解説お願いします!
@pythonvtuber9917
@pythonvtuber9917 2 года назад
コメントありがとうございます!propertyと合わせて検討してみますね😉
@user-up2lm7su6l
@user-up2lm7su6l 8 месяцев назад
初めまして、print(f'a-b')のfの意味をお教え下さい。
@kamukami295
@kamukami295 3 часа назад
fを使うと変数などを文字列に埋め込めます。 例えば sum = 25 + 24 print(f”計算結果は{sum}”) とすると{}の中にある変数などの結果を埋め込めます。今回の実行結果は、 「計算結果は49」と出力されます
@riya401
@riya401 Год назад
@マークつける書き方はメモ化の動画で見た気がする……。 @cache はこれだったのか。
@pythonvtuber9917
@pythonvtuber9917 Год назад
はい、そうです!!色々な動画を見てもらえて嬉しいです!
@4-15Seminar
@4-15Seminar 2 года назад
大変勉強になります。デコレータは少し難しかったです。 start_end(print_apple)() ではなく f=start_end(print_apple) f() と書いてもらえばわかったと思います。 少し悩みました。 でも、もうわかりました。 start_end(print_apple)  --> f start_end(print_apple)() --> f () ですね。
@pythonvtuber9917
@pythonvtuber9917 2 года назад
ご視聴いただきありがとうございます! おっしゃる通りstart_end(print_apple)() --> f () という記載だと分かりやすいですね✨
@4-15Seminar
@4-15Seminar 2 года назад
@@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 2 года назад
ご質問ありがとうございます! おっしゃる通り@を使った場合は、”暗黙的”にデコレートされた関数が呼び出されたことになります😉