このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その35
http://mevius.5ch.net/test/read.cgi/tech/1496411341/
VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
探検
くだすれPython(超初心者用) その36
■ このスレッドは過去ログ倉庫に格納されています
2018/01/01(月) 20:18:42.82ID:iOcRvNll
247デフォルトの名無しさん
2018/02/03(土) 07:37:05.14ID:t4e4FmlL Pythonの本はあらかた購入しているのだけど、デコレータがどうしても理解できない
いや説明はわかるのだが、それが何の役に立つのか理解できない
例えば以下のコードを見せられても、それが何?という感想しか出てこない
理解できないものは無視すればいいんだろうけど、Pythonドキュメントのサンプルコードに
デコレータを使っている箇所(@classmethod等)がけっこうあるため、そうも行かない
誰かデコレータについてその存在意義と有用性を教えてくれないか
----------------------
@decorate
def target():
print('running target()')
これは次と等価です
def target():
print('running target()')
target = decorate(target)
----------------------
いや説明はわかるのだが、それが何の役に立つのか理解できない
例えば以下のコードを見せられても、それが何?という感想しか出てこない
理解できないものは無視すればいいんだろうけど、Pythonドキュメントのサンプルコードに
デコレータを使っている箇所(@classmethod等)がけっこうあるため、そうも行かない
誰かデコレータについてその存在意義と有用性を教えてくれないか
----------------------
@decorate
def target():
print('running target()')
これは次と等価です
def target():
print('running target()')
target = decorate(target)
----------------------
248デフォルトの名無しさん
2018/02/03(土) 09:32:41.09ID:qWVkS+Es249デフォルトの名無しさん
2018/02/03(土) 09:33:58.07ID:qWVkS+Es 少なくとも >>247 の例は悪例だという意見には同意
250デフォルトの名無しさん
2018/02/03(土) 12:20:01.23ID:5RbTAhEw >>247
デコレーターって「高階関数の便利な使い方」って感じのものだから
根本的にはmap関数とか調べたほうがピンとくると思う。
pythonでは「関数を引数にとり、関数を返す関数」っていうのを文法上作ることができて、
「なら関数を受け取って改造して返す関数を作ってもいいよね」っていう発想が生まれて
「これ便利だから簡単に使えるようにしよう」って出来たのが@を使うデコレーター記法。
使い道としては、関数にちょっとした追加機能をつけて改造するようなものが多いと思う。
ログを取ったり、規定の文字数をオーバーしてたらエラーを返すようにしたり、
ただの文字列を返す関数をhtmlタグ付きの文字列を返すように改造したり。
デコレーターって「高階関数の便利な使い方」って感じのものだから
根本的にはmap関数とか調べたほうがピンとくると思う。
pythonでは「関数を引数にとり、関数を返す関数」っていうのを文法上作ることができて、
「なら関数を受け取って改造して返す関数を作ってもいいよね」っていう発想が生まれて
「これ便利だから簡単に使えるようにしよう」って出来たのが@を使うデコレーター記法。
使い道としては、関数にちょっとした追加機能をつけて改造するようなものが多いと思う。
ログを取ったり、規定の文字数をオーバーしてたらエラーを返すようにしたり、
ただの文字列を返す関数をhtmlタグ付きの文字列を返すように改造したり。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【外交】元台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」★2 [1ゲットロボ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★8 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 【ぺこ専🐰】なんG 兎田ぺこら実況スレ🏡【ホロライブ▶】
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 ⬅︎これ [279254606]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 麻生太郎「今のアメリカ政治の変化は同盟国として看過できない」 [256556981]
- 【悲報】自民党のヒゲ、外務省局長と中国高官の写真にブチギレwwwwwwwwwwwwww [834922174]
