作者zo6596001 (超帅肥宅)
看板Python
标题[讨论] Python语法是不是不太严谨?
时间Thu Feb 21 21:17:21 2019
哈罗大家好,肥宅工作上每天都在写Python
可是最近发现我有时候会花很多时间在解决小Bug。
例如之前写的Socket程式就出现下面问题
byteString = b'apple'
print(len(byteString)) # 答案是5
byteString = str(byteString)
print(len(byteString)) # 答案是8
当初手残把收过来的资料转成str,结果抓下来的图档开不起来。
最後是发现伺服器跟客户端的档案大小不一样,才找到问题。
可是其他的程式语言在上述情况下根本不可能编译成功。
Python相较於其他程式语言,是不是语法比较不严谨??
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.137.9.41
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1550755043.A.817.html
※ 编辑: zo6596001 (220.137.9.41), 02/21/2019 21:18:13
1F:推 MAGICXX: 4 02/21 22:05
2F:→ DavisX: 4 02/21 22:26
3F:推 windclara: 4 02/21 22:35
4F:嘘 as30385438: 你听过javascript吗 02/21 22:48
5F:推 jasonfghx: 6666666666666666666666666666666666 02/21 23:05
6F:推 eight0: 不能编译成功?能举个例子吗 02/21 23:21
7F:→ djshen: 你确定是转成str? 02/22 00:01
8F:→ djshen: 每天都在写你们怎麽不会print(byteString)看看? 02/22 00:02
9F:→ Raymond0710: 你了解 str(), __str__ 的意义吗? 02/22 00:28
10F:→ Raymond0710: 在py3中 bytes 转成 str 要用 decode 不是str() 02/22 00:30
11F:推 Sunal: 文件没看清楚,特性不够熟悉 02/22 08:10
12F:→ MOONY135: 自己习惯不好 怪编译器 02/22 09:00
13F:→ rofellosx: 你使用的不严谨 02/22 09:29
14F:嘘 TitanEric: 语法先熟悉 02/22 09:48
15F:推 agario: 如果你改用 C++ 拿到 char[] 然後用奇怪的 function 把他 02/22 09:59
16F:→ agario: 转成 UTF16 encoded 的 char[] 还不是会变不一样 02/22 10:00
17F:推 lajji: 严谨不严谨 使用者的差别比较大 02/22 11:34
18F:→ s860134: 只有强型别和弱型别 自己写错怪语言 不爽不要用 嘻嘻 02/22 12:12
19F:嘘 froce: 你没搞懂python的字串转换,乱用当然不对。 02/23 10:39
20F:→ froce: str(b'apple')出来就是b'apple'这个字串,长度当然是8 02/23 10:40
21F:→ froce: 上面有提到,用decode才是正解 02/23 10:41
22F:→ y3k: 不严谨是的确的阿XDD 但是很多血python的就爱这味 02/25 12:23
23F:→ y3k: 要不是某些API用Python发布 我个人还真想用Java或TS写... 02/25 12:24
24F:推 newstarisme: 很严谨啊... indent要求很严格 02/25 19:47
25F:推 Sunal: php才是最好的语言 02/25 22:37
26F:→ lance8537: javascript: a=10 + ”12" 求a? 02/26 16:49