作者yuwenche (yuwenche)
看板DataScience
標題[問題] 請問底下連結第83行Pipe()的前面加一個星
時間Tue Sep 20 12:32:26 2022
請問底下連結第83行Pipe()的前面加一個星號(*)是什麼意思?如果把這星號移除,就
會發生執行錯誤。我知道Pipe是用來實現不同進程之間的通信,但不了解為什麼前面加個
星號。
附帶一提,這支程式效能很高,作者的功力很深,只是有很多地方我還不了解。
https://github.com/adik993/ppo-pytorch/blob/master/envs/multi_env.py
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.85.246 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1663648348.A.744.html
1F:推 lycantrope: Pipe回傳兩端Connection,後用 * unpack而已... 09/20 13:00
2F:→ yuwenche: 感謝回覆。不過,這星號的功能應該是打包(packing), 09/21 08:45
3F:→ yuwenche: 而不是unpacking? 09/21 08:45
4F:→ lycantrope: 那我對python星號功力不足,只能問其他高手了... 09/21 11:19
5F:→ DarkIllusion: 就1樓說的那樣 09/21 13:26
6F:→ DarkIllusion: google: unpack tuples into arguments 09/21 13:29
7F:→ DarkIllusion: 為什麼你的理解是 packing 而不是 unpacking? 09/21 13:31
8F:→ yuwenche: Python的unpacking只須將等號左邊的變數分開寫,不需要 09/22 11:09
9F:→ yuwenche: 星號。請參考: 09/22 11:10
11F:→ yuwenche: acking.html 09/22 11:11
12F:→ lycantrope: 無言... 打開python自己測一下有這麼難嗎 09/22 14:45
13F:→ lycantrope: [*"測一下有很難嗎..."] #是不是unpack成list 09/22 14:47
14F:推 bhbbbbb: 加油!!!建議改從基礎學起!!! 09/22 16:37
15F:推 DarkIllusion: @yuwenche 是這樣子的:unpack 指的是把一個 09/22 20:01
16F:→ DarkIllusion: iterable obj 解開變成多個 item 的行為;packing 09/22 20:01
17F:→ DarkIllusion: 指的是把多個 item 打包成一個 iterable obj 的行為 09/22 20:01
18F:→ DarkIllusion: 。而且並不是說*只能是這兩種行為的其中一種 09/22 20:01
19F:推 DarkIllusion: 我指的 iterable obj 是 list、tuple,或是像上面的 09/22 20:04
20F:→ DarkIllusion: lycantrope 提到的字串,他上面那行將字串 unpack 09/22 20:04
21F:→ DarkIllusion: 成好幾個字元 09/22 20:04
22F:→ DarkIllusion: 你附上的連結很理所當然地是 unpacking 沒錯,但是 09/22 20:09
23F:→ DarkIllusion: 這是不是 unpacking 跟你的問題其實關係不太大 09/22 20:09
24F:→ DarkIllusion: 還有疑問的話歡迎回覆,也許我可以找幾個範例解釋 09/22 20:16
25F:→ yoyololicon: 請去python 版 09/22 20:23
26F:→ MADNUG: 笑暈,錯得這麼理直氣壯XDD 09/27 03:19