py 的字符串拼接是不是有点反人类啊

2017-03-17 17:45:21 +08:00
 yxslnmp
一个 url : http://www.xxx.xxx/search/user + '/' +id , id 为 int 型,结果报错,本来打算用 join 的,发现 join 函数也不允许连接一个 int 型
我主要写 PHP 的。换 py 写感觉好不适应
7294 次点击
所在节点    Python
75 条回复
WispZhan
2017-03-17 23:13:33 +08:00
看来是需要探讨一下“第一个语言是 c/c++的重要性”。
think2011
2017-03-17 23:14:02 +08:00
` http://www.xxx.xxx/search/user${id}` 觉得 js 的最好用, 'http://www.xxx.xxx/search/user/%d' %id 也还行
bombless
2017-03-17 23:16:40 +08:00
确实,还不如 cpp ,隐式转换都没法做(逃

不过格式化字符串用从一串模板字符串出发其实也算是标准做法
likuku
2017-03-17 23:23:50 +08:00
果然 PHPer 的代码习惯够糟糕的哎...
102400
2017-03-17 23:24:06 +08:00
与 py 交易不如和 ruby
"http://www.xxx.xxx/search/user/#{id}"
likuku
2017-03-17 23:26:35 +08:00
@PythonAnswer 哦?+ 是 JS 习惯?今天才知道...

我当初直接 py 上手,开始用 + 好多年,最近两年才慢慢换成 %类型 嵌入字符串里,末尾再加个 变量列表。
limbo0
2017-03-17 23:56:38 +08:00
lz 只会 php 吗
freestyle
2017-03-18 00:06:30 +08:00
这是强类型语言 不自动转型的 花式 format 很好用的 'http://www.xxx.xxx/search/user/{}',format(id)
Miy4mori
2017-03-18 00:07:24 +08:00
你在 v2 吐槽 py 不是找不自在吗?😂😂😂
uucloud
2017-03-18 02:00:11 +08:00
你随便找本新手教程看一遍再用。。省时间
RqPS6rhmP3Nyn3Tm
2017-03-18 02:04:30 +08:00
动态类型一时爽……
写 PHP 我感觉是没有 py 爽
PythonAnswer
2017-03-18 05:00:08 +08:00
@likuku `%` 是淘汰的方法了,社区前阵子推荐 `str.format()`

3.6 以后可以用这个

```python
>>> f'The value is {value}.'
'The value is 80.'
```
andyiac
2017-03-18 08:04:32 +08:00
习惯就好
XYxe
2017-03-18 09:43:17 +08:00
以 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);
}
```
然后就:

junnplus
2017-03-18 09:47:13 +08:00
@XYxe 233333
fengfisher2
2017-03-18 09:47:23 +08:00
是 python2.x 还是 3.x ?
我觉得 python 的已很人性化了。
precisi0nux
2017-03-18 10:12:50 +08:00
楼主一定是个假 php dev , php 里 string concatenation 明明是 '.'
wangjie
2017-03-18 11:17:36 +08:00
可以试试写 node
pynix
2017-03-18 11:41:13 +08:00
坐等 3.6
fuxkcsdn
2017-03-18 12:24:06 +08:00
@xavierskip 静态类型语言反而不觉得
正因为 python 和 js 和 php 一样是弱类型的语言,所以想当然会觉得
str + int 应该自动转换成 str + str ,还特地 str + str(int) 确实很蛋疼

P.S. 用 python 三个礼拜有感

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348282

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX