[問題] 不太懂的語法

看板Python作者 (huggie)時間13年前 (2012/07/25 19:16), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
今天看到一行 code 目的是要算秒數 例如: "00:06:00" 就是 360 秒 "01:00:00" 就是3600秒 def parse_gtfs_time(timestr): return (lambda x:int(x[0])*3600+ int(x[1])*60+int(x[2]))(timestr.split(":")) 發現 lambda 可以直接用..(lambda x_parameter: ...)(x_argument) 之前都不知道耶. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.51.5

07/26 19:40, , 1F
lambda 生出來之後那邊就是一個 func obj
07/26 19:40, 1F

07/26 19:40, , 2F
加上 () 就能用了啊
07/26 19:40, 2F

07/27 18:24, , 3F
被你一說好像很簡單了
07/27 18:24, 3F

07/27 18:25, , 4F
只是前面也要加個括弧就是了
07/27 18:25, 4F

07/27 20:36, , 5F
f = lambda x_parameter: ...
07/27 20:36, 5F

07/27 20:37, , 6F
(lambda x_parameter: ...)(x) 就等於 f(x)
07/27 20:37, 6F

07/27 20:39, , 7F
前面加括號才不會被當成 lambda x_parameter: (...(x))
07/27 20:39, 7F
文章代碼(AID): #1G3zMQzO (Python)
文章代碼(AID): #1G3zMQzO (Python)