[討論] Python語法是不是不太嚴謹?

作者: zo6596001 (超帥肥宅)   2019-02-21 21:17:21
哈囉大家好,肥宅工作上每天都在寫Python
可是最近發現我有時候會花很多時間在解決小Bug。
例如之前寫的Socket程式就出現下面問題
byteString = b'apple'
print(len(byteString)) # 答案是5
byteString = str(byteString)
print(len(byteString)) # 答案是8
當初手殘把收過來的資料轉成str,結果抓下來的圖檔開不起來。
最後是發現伺服器跟客戶端的檔案大小不一樣,才找到問題。
可是其他的程式語言在上述情況下根本不可能編譯成功。
Python相較於其他程式語言,是不是語法比較不嚴謹??
作者: MAGICXX (逢甲阿法)   2019-02-21 22:05:00
4
作者: DavisX   2019-02-21 22:26:00
4
作者: windclara (null)   2019-02-21 22:35:00
4
作者: as30385438 (LCT)   2019-02-21 22:48:00
你聽過javascript嗎
作者: jasonfghx (工人)   2019-02-21 23:05:00
6666666666666666666666666666666666
作者: eight0 (欸XD)   2019-02-21 23:21:00
不能編譯成功?能舉個例子嗎
作者: djshen (djshen)   2019-02-22 00:01:00
你確定是轉成str?每天都在寫你們怎麼不會print(byteString)看看?
作者: Raymond0710 (雷門)   2019-02-22 00:28:00
你了解 str(), __str__ 的意義嗎?在py3中 bytes 轉成 str 要用 decode 不是str()
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2019-02-22 08:10:00
文件沒看清楚,特性不夠熟悉
作者: MOONY135 (談無慾)   2019-02-22 09:00:00
自己習慣不好 怪編譯器
作者: rofellosx (鏖)   2019-02-22 09:29:00
你使用的不嚴謹
作者: TitanEric (泰坦)   2019-02-22 09:48:00
語法先熟悉
作者: agario (Agar.io)   2019-02-22 09:59:00
如果你改用 C++ 拿到 char[] 然後用奇怪的 function 把他轉成 UTF16 encoded 的 char[] 還不是會變不一樣
作者: lajji (喇機)   2019-02-22 11:34:00
嚴謹不嚴謹 使用者的差別比較大
作者: s860134 (s860134)   2019-02-22 12:12:00
只有強型別和弱型別 自己寫錯怪語言 不爽不要用 嘻嘻
作者: froce (froce)   2019-02-23 10:39:00
你沒搞懂python的字串轉換,亂用當然不對。str(b'apple')出來就是b'apple'這個字串,長度當然是8上面有提到,用decode才是正解
作者: y3k (激流を制するは静水)   2019-02-25 12:23:00
不嚴謹是的確的阿XDD 但是很多血python的就愛這味要不是某些API用Python發布 我個人還真想用Java或TS寫...
作者: newstarisme (Say it's forever)   2019-02-25 19:47:00
很嚴謹啊... indent要求很嚴格
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2019-02-25 22:37:00
php才是最好的語言
作者: lance8537 (小砰砰)   2019-02-26 16:49:00
javascript: a=10 + ”12" 求a?

Links booklink

Contact Us: admin [ a t ] ucptt.com