→ Pieteacher: f’{self.xxx}’ 06/18 13:47
→ klao: 請問是改成f'''...{self.Laser.does}...'''這樣寫法嗎?還是 06/18 15:02
→ klao: 會出現一樣的情況 06/18 15:02
推 lycantrope: 是不是忘記call self.xxx.does() ? 至少3.8沒問題 06/18 16:35
推 s0914714: 看起來應該沒問題 你試看看print(self.Laser.does()) 06/18 16:38
→ klao: 回4樓 這樣是可以的 會出現'disintegrate' 06/18 16:40
推 s0914714: Python版本? 06/18 16:45
推 lycantrope: 至少要大於>=3.6 才有f"" 06/18 16:48
推 Conjuror: 樓上正解 06/19 09:04
→ klao: 謝謝各位大大的建議!我的版本是3.9 06/19 21:24
→ alvinlin: f-string裡面放的是變數不是函式 06/20 01:01
推 s0914714: f-string是runtime evaluation 放function是沒問題的 06/20 03:24
推 andy19960407: 一切都是物件 06/20 14:53
推 ddavid: 我測這個沒有發生問題啊 06/21 11:41
推 ddavid: 而且原po那個結果很明顯是直接印到了 self.Laser 這些物件 06/21 11:43
→ ddavid: 本身而沒有印到 self.Laser.does() 的傳回值 06/21 11:44
→ ddavid: 印得出那個東西,首先就排除了版本不具備f-string的問題 06/21 11:45
→ ddavid: 其次,如果是少了括號打成 self.Laser.does,輸出會是 06/21 11:46
→ ddavid: My laser can <bound method Laser.does of <__main__.Las 06/21 11:46
→ ddavid: er object at 0x000001F0BA383DF0>> 06/21 11:46
→ ddavid: 印到的東西會很明確說他印到了Laser裡面的does這個method 06/21 11:47
→ ddavid: ,所以也可以排除 06/21 11:47
→ ddavid: 那個結果完全就是印到 self.Laser 本身,但原Po又打出來說 06/21 11:47
→ ddavid: 他的Code就是 {self.Laser.does()} ,我重現不出來這個錯 06/21 11:48
→ ddavid: 我只能懷疑要嘛其實實際Code是 {self.Laser} ,不然另一個 06/21 11:49
→ ddavid: 可能是其他class的does()不知為何內部改成return self 06/21 11:50
→ dlhk3: 試試看把每個does的return都改成f string 06/22 08:46
→ klao: 謝謝上面兩位大大的講解!手邊現在沒電腦,後天來試試看! 06/24 04:26
推 kane111: 印到記憶體位置了,但code本身看起來沒問題應該會回傳字 06/25 01:25
→ kane111: 串,怪哉 06/25 01:25
→ klao: 今天把python更新到3.9.5,莫名其妙就可以了。還是十分感謝 06/26 04:54
→ klao: 各位先進的講解! 06/26 04:54
推 s0914714: 原先版本是3.9.幾? 06/26 06:55
→ ddavid: 可是我測的時候只用3.8.10也是沒問題 06/26 20:33
→ klao: 原先是3.9.0,但真的跟上面某些留言講的一樣,實在不懂為什 06/29 02:14
→ klao: 麼本來不行 06/29 02:14
推 s0914714: 3.9.0我測試也沒問題 所以可能原本的環境出了啥問題 06/29 07:49