
|  |      1upczww      2017-03-17 17:48:10 +08:00 via iPhone str(id) | 
|      2devzero      2017-03-17 17:48:58 +08:00 via Android url 是 str 型的,拼接要类型相同吧 | 
|  |      3swulling      2017-03-17 17:49:35 +08:00 via iPhone 请用 str.format | 
|      4jasontse      2017-03-17 17:49:41 +08:00 via iPad 强类型的差别,感觉又要吵了。。。。 | 
|  |      5kaka826      2017-03-17 17:49:41 +08:00 " http://www.xxx.xxx/search/user/{}".format(id) | 
|  |      6eastpiger      2017-03-17 17:51:09 +08:00  1 字符串拼接都是推荐"".format()来做的吧 | 
|  |      7imn1      2017-03-17 17:57:30 +08:00 这个要看人类怎么定义 | 
|  |      8yxslnmp OP | 
|      9wevsty      2017-03-17 18:02:05 +08:00 py 这也算蛋疼的话,那 C++之类只能哭晕在厕所了 | 
|      10liujinlingchn      2017-03-17 18:02:34 +08:00  3 我曹, 还敢有 python 反人类的 拉出去 | 
|  |      11dishonest      2017-03-17 18:03:42 +08:00 @yxslnmp 这个不是 python 的锅吧 peewee 我没用过,如果你用 django 的 ORM , get 仍然会报错,但是用 first 就不会。 这个取决于你的需求,如果这是一个意料之外的,比如不合法访问,那么报错保护了数据,直接结束整个流程,是完全正确的;反之如果处理不存在的情况也是一种业务上的需求,你可以 try ,也可以用 first 再去处理 first 的返回值。 | 
|  |      12kindjeff      2017-03-17 18:04:28 +08:00 其实这个字符串拼接不自动转还是有好处的! 以前用 flv.js 视频时间显示不出来,慢慢找发现我给的数字其实是字符串型,它用+号加起来的时候全部变成了巨长的数字。 | 
|  |      13scriptkid      2017-03-17 18:05:18 +08:00 各有各的蛋疼之处,主要看你习惯罢了  python 这样的语言你都觉得反人类,那我还有什么话说 | 
|  |      15mutoulbj      2017-03-17 18:07:32 +08:00 如果 get 不报错,那你想获得什么结果呢 | 
|  |      16yxslnmp OP | 
|  |      17maomaomao001      2017-03-17 18:11:30 +08:00 via Android 没有模板字符串也就算了,字符串拼接居然不会自动转换类型。。。。 | 
|  |      18jkneedout      2017-03-17 18:19:04 +08:00 via iPhone 用 c 语言的表示很淡定 | 
|  |      19Ge4Los      2017-03-17 18:24:09 +08:00 字符串拼接居然用 + 。 不用 format 也可以 % 来拼接啊。 另外 peewee get 不到的话,还有 get_object_or_404() 的方法。 LZ 还是多看看文档吧 | 
|  |      20GuestID      2017-03-17 18:25:12 +08:00 就算报错,也会和你清清楚楚的说是类型错误啊。。 | 
|      21Hstar      2017-03-17 18:26:20 +08:00 简单拼接比较习惯 'http://www.xxx.xxx/search/user/%d' % id 这样写 | 
|  |      22eason622      2017-03-17 18:27:54 +08:00 via iPhone 用 format()岂不是美滋滋 | 
|  |      23yxslnmp OP | 
|  |      24yxslnmp OP | 
|  |      25syahd      2017-03-17 19:50:12 +08:00 via Android 推荐用 join ,性能比+高很多 | 
|      26nicevar      2017-03-17 19:55:33 +08:00  1 所以学编程从复杂的语言开始也有好处, c++用多了觉得其他语言怎么折腾也能接受,用 kotlin 踩了一段时间坑之后觉得太爽了 | 
|  |      27shalk      2017-03-17 19:59:38 +08:00 用 perl 的时候,觉得类型随便用啊, 上下文自己感受,php 也是借鉴过来的 | 
|  |      28kghch      2017-03-17 20:04:39 +08:00 大概是还不适应吧,平心而论 python 是写起来最符合审美的语言,说到反人类,怎么没有 java | 
|      29billlee      2017-03-17 20:07:16 +08:00 还好你用的不是 C. | 
|  |      30C0VN      2017-03-17 20:19:18 +08:00 还好你不是用的静态类型的语言,要不然你可以去自杀了。 | 
|  |      32est      2017-03-17 21:13:17 +08:00 《 python 的 orm 是不是有点反人类啊》 居然不能 "select * from table where a=" + 1 | 
|  |      33fy      2017-03-17 21:15:36 +08:00 @maomaomao001  1. 模板字符串 3.6 有了, f-string ,现在生产环境是 3.5 , 3.6 并不遥远 2. 字符串拼接自动转换类型?到时候又会来喷 1 + '1' = '11' 了 | 
|  |      34springmarker      2017-03-17 21:21:38 +08:00 这个 xxx.xxx 域名点开后很。。。。嗯。。。。。 | 
|  |      35zhustec      2017-03-17 21:37:07 +08:00 via Android @liujinlingchn  Python 本来就很反直觉啊 | 
|  |      36icedx      2017-03-17 21:52:21 +08:00 Python 是强类型语言啊 | 
|  |      37phrack      2017-03-17 22:07:38 +08:00 via Android 换语言不适应就是依然是以前语言的思维习惯问题而已,多用用就自然而然了。 还记得用 c 换 py 的时候也有一两个月不适应。 | 
|  |      38foo2bar      2017-03-17 22:08:38 +08:00 python 下的字符串拼接很好用啊 url = 'http://www.xxx.xxx/search/user/%d' %id | 
|      39PythonAnswer      2017-03-17 22:55:18 +08:00 用+是 js 党的习惯啊,哈哈哈 | 
|  |      40yunji3344      2017-03-17 23:01:47 +08:00 同感 | 
|      41WispZhan      2017-03-17 23:13:33 +08:00 看来是需要探讨一下“第一个语言是 c/c++的重要性”。 | 
|      42think2011      2017-03-17 23:14:02 +08:00 ` http://www.xxx.xxx/search/user${id}` 觉得 js 的最好用, 'http://www.xxx.xxx/search/user/%d' %id 也还行 | 
|  |      43bombless      2017-03-17 23:16:40 +08:00 via Android 确实,还不如 cpp ,隐式转换都没法做(逃 不过格式化字符串用从一串模板字符串出发其实也算是标准做法 | 
|  |      44likuku      2017-03-17 23:23:50 +08:00 果然 PHPer 的代码习惯够糟糕的哎... | 
|  |      45102400      2017-03-17 23:24:06 +08:00  1 与 py 交易不如和 ruby "http://www.xxx.xxx/search/user/#{id}" | 
|  |      46likuku      2017-03-17 23:26:35 +08:00 | 
|  |      47limbo0      2017-03-17 23:56:38 +08:00 lz 只会 php 吗 | 
|  |      48freestyle      2017-03-18 00:06:30 +08:00 这是强类型语言 不自动转型的 花式 format 很好用的 'http://www.xxx.xxx/search/user/{}',format(id) | 
|  |      49Miy4mori      2017-03-18 00:07:24 +08:00 via iPhone 你在 v2 吐槽 py 不是找不自在吗? | 
|  |      50uucloud      2017-03-18 02:00:11 +08:00 你随便找本新手教程看一遍再用。。省时间 | 
|      51RqPS6rhmP3Nyn3Tm      2017-03-18 02:04:30 +08:00 via iPhone 动态类型一时爽…… 写 PHP 我感觉是没有 py 爽 | 
|      52PythonAnswer      2017-03-18 05:00:08 +08:00 @likuku `%` 是淘汰的方法了,社区前阵子推荐 `str.format()` 3.6 以后可以用这个 ```python >>> f'The value is {value}.' 'The value is 80.' ``` | 
|  |      53andyiac      2017-03-18 08:04:32 +08:00 习惯就好 | 
|  |      54XYxe      2017-03-18 09:43:17 +08:00  1 以 CPython 2.7.11 为例,在 Objects/stringobject.c 文件的 string_concat 函数开头加上: ``` if(!PyString_Check(bb) && bb->ob_type->tp_str != NULL) { PyObject *nbb = bb->ob_type->tp_str(bb); return string_concat(a, nbb); } ``` 然后就:     | 
|  |      56fengfisher2      2017-03-18 09:47:23 +08:00 是 python2.x 还是 3.x ? 我觉得 python 的已很人性化了。 | 
|  |      57precisi0nux      2017-03-18 10:12:50 +08:00 via iPhone 楼主一定是个假 php dev , php 里 string concatenation 明明是 '.' | 
|  |      58wangjie      2017-03-18 11:17:36 +08:00 可以试试写 node | 
|  |      59pynix      2017-03-18 11:41:13 +08:00 坐等 3.6 | 
|  |      60fuxkcsdn      2017-03-18 12:24:06 +08:00 @xavierskip 静态类型语言反而不觉得 正因为 python 和 js 和 php 一样是弱类型的语言,所以想当然会觉得 str + int 应该自动转换成 str + str ,还特地 str + str(int) 确实很蛋疼 P.S. 用 python 三个礼拜有感 | 
|  |      61wildplant      2017-03-18 12:38:03 +08:00 楼主开了喷语言的贴,是说打住就能打住的吗?不翻页已经算好了。 | 
|  |      62billwsy      2017-03-18 12:41:02 +08:00 我觉得真正要吐槽的是运行到那一句才报错吧,要是 Python 静态类型多好 | 
|  |      64exoticknight      2017-03-18 13:08:04 +08:00 重要的是在 python 下拼接字符串就不应该用 + 不同语言要分开对待 | 
|  |      65exoticknight      2017-03-18 13:08:41 +08:00 另外我记得 php 的拼接更奇葩吧,好像是用. | 
|  |      66vicalloy      2017-03-18 13:37:53 +08:00 via iPhone 如果真打算用一种新语言,应当找本书仔细看看,可以少很多坑,花不了几天时间。 你的问题都是最基础的东西,看过书都知道。另外你是在有 PHP 的思维写 python ,自然不爽。 第一个问题是因为类型不匹配。实际上 PHP 和 js 的自动类型转换很可能带来潜在的问题。 第二个问题,你给个默认值就不会抛错。 | 
|  |      67C0VN      2017-03-18 13:53:45 +08:00 @fuxkcsdn #60 Python 应该是强类型, js 是弱类型。 弱类型语言是指变量的类型可以被隐式转换。而强类型语言趋向于不自动转换变量类型,转换类型需要手动进行。 t/61513 https://www.zhihu.com/question/19918532 | 
|      68neoblackcap      2017-03-18 14:02:13 +08:00 @whwq2012 其实少量拼接的时候+跟 join 的性能相差不大。 | 
|  |      70freestyle      2017-03-18 15:05:04 +08:00 via iPhone 其实 lz 是来黑 php 用.连接字符的 (doge | 
|  |      72hoyixi      2017-03-18 16:22:38 +08:00 那你用 Swift 岂不是要砸电脑,嘿嘿 | 
|  |      73liuzhiyong      2017-03-19 17:09:53 +08:00 via iPad Python 和 php 是不同的编程语言啦,相信楼主很快就能适应。 | 
|  |      74JerryZhang      2017-03-20 09:09:39 +08:00 Python 反人类的又不只这一个,何必大惊小怪的。 | 
|  |      75Chyroc      2017-03-20 23:51:40 +08:00 |