[問題] 程式碼前的"@"符號?

看板Python作者時間15年前 (2009/10/30 21:03), 編輯推噓3(308)
留言11則, 4人參與, 最新討論串1/1
不好意思最近才剛開始接觸python 想要請問一下 程式碼前加入@是什麼意思呢? ex: @dbus.service.signal('com.example.TestService') def XXX() .... .... 懇請指教,謝謝 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.226.214

10/30 22:11, , 1F
修飾子 你可以搜尋python decorator
10/30 22:11, 1F

10/30 22:12, , 2F
是Python的Decorator
10/30 22:12, 2F

10/30 22:13, , 3F
基本上 他是一種用來包裝函數的函數
10/30 22:13, 3F

10/30 22:14, , 4F
可以在函數的進入點和離開點增加行為
10/30 22:14, 4F

10/30 22:15, , 5F
舉個例子 你可以寫一個decorator用來做cache
10/30 22:15, 5F

10/30 22:16, , 6F
或是檢查使用者是否有權限使用此函數
10/30 22:16, 6F

10/30 23:57, , 7F
樓上正解 decorator可以讓function該作的事更容易讀
10/30 23:57, 7F

10/31 00:01, , 8F
這是主要目的 其它語言也可以用繼承達到 但相較起來就比較
10/31 00:01, 8F

10/31 00:01, , 9F
費力 有殺雞焉用牛刀的感覺
10/31 00:01, 9F

10/31 16:29, , 10F
感謝大家的解答! 謝謝^^
10/31 16:29, 10F

10/31 16:30, , 11F
用GOOGLE搜不到 "@" 實在讓我找不到XD
10/31 16:30, 11F
文章代碼(AID): #1AwkGpRk (Python)
文章代碼(AID): #1AwkGpRk (Python)