V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  fy  ›  全部回复第 51 页 / 共 69 页
回复总数  1370
1 ... 47  48  49  50  51  52  53  54  55  56 ... 69  
2016-05-17 13:00:09 +08:00
回复了 a412739861 创建的主题 Python 请教下 python3 跨平台,以及提供他人使用遇到的几个问题
@a412739861 不是带 env ,是本地生成一个 env ,这里面的东西正好就是你要拷贝进去的东西。不用你再一个个挑库,还要小心是不是某个库缺了。
2016-05-17 00:59:28 +08:00
回复了 a412739861 创建的主题 Python 请教下 python3 跨平台,以及提供他人使用遇到的几个问题
当然有啊,把你用的库拷贝出来,加到你源码里就好了。
简单的办法比如说用一些工具自动生成 requirements.txt ,然后弄个 env ,里面的那些东西就是你需要的全部库。
2016-05-15 20:34:26 +08:00
回复了 sox 创建的主题 分享创造 非阻塞式通知组件 corner-notie.js
nice excited
2016-05-12 22:18:05 +08:00
回复了 SlipStupig 创建的主题 Python 无意发现的一个 python 的坑
虽然这样做是不对的,但我还是忍不住手动滑稽一下
2016-05-12 11:48:38 +08:00
回复了 tflz514 创建的主题 推广 干掉 PHP!! 为自己喜欢的 Python 投上一票,只差 47 票了
蛋疼的 LZ ,骗铜币的吗
2016-05-12 00:19:27 +08:00
回复了 divviolet 创建的主题 分享创造 如何获得个人项目的前 1000 个受众?
@fcicq 呃,直接 ctrl+c 结束啊
2016-05-11 22:52:43 +08:00
回复了 divviolet 创建的主题 分享创造 如何获得个人项目的前 1000 个受众?
@fcicq thx ,另外后面那个正常的停止 ioloop 是指什么?
2016-05-11 14:46:27 +08:00
回复了 divviolet 创建的主题 分享创造 如何获得个人项目的前 1000 个受众?
1000 个……我感觉我的辣鸡 tornado 项目生成器是混不到这个数字了: https://github.com/fy0/fpage
辣鸡正则表达式引擎估计也混不到了: https://github.com/fy0/tinyre
^_^
2016-05-11 14:43:30 +08:00
回复了 AKI 创建的主题 分享创造 私有社区项目寻求志同道合的兄弟
噫 所用语言呢,要求呢。。。
2016-05-09 21:27:46 +08:00
回复了 boneyao 创建的主题 程序员 「孵化器」项目前端搭建, 给大家安利一下 Reflux
@boneyao 楼主你还是做完了 再发帖子吧…… 不然游戏还没发出来 已经被别人 ban 了
2016-05-09 19:39:55 +08:00
回复了 boneyao 创建的主题 程序员 「孵化器」项目前端搭建, 给大家安利一下 Reflux
雾草 楼主你游戏本体呢 我翻了半天没找到

你这是文字直播写代码啊!惊了!
2016-05-08 20:52:02 +08:00
回复了 patrickstar 创建的主题 程序员 请教 数据可视化系统的 Web 解决方案
会 python 人多,就走 flask ,上手最快,教程也好。
前端表格用 echarts ,最好招个会做 web 的人来搞相关内容
这有什么用呢, 115 还是不可避免的越来越小众了。
硬是写成了阴谋论鸡汤文
2016-05-08 15:28:30 +08:00
回复了 terence4444 创建的主题 Python i = i +1 写成 i += 1 有什么好处?
另外 Python 的 int 和 str 一样是不可变对象,根本不会有 inc x 这样的东西
2016-05-08 15:27:18 +08:00
回复了 terence4444 创建的主题 Python i = i +1 写成 i += 1 有什么好处?
首先是看看字节码,好像区别不大

>>> import dis
>>> dis.dis('a += 1')
1 0 LOAD_NAME 0 (a)
3 LOAD_CONST 0 (1)
6 INPLACE_ADD
7 STORE_NAME 0 (a)
10 LOAD_CONST 1 (None)
13 RETURN_VALUE
>>>
>>> dis.dis('a = a + 1')
1 0 LOAD_NAME 0 (a)
3 LOAD_CONST 0 (1)
6 BINARY_ADD
7 STORE_NAME 0 (a)
10 LOAD_CONST 1 (None)
13 RETURN_VALUE
>>>

然后去看字节码解析,貌似一毛一样

ceval.c

TARGET(BINARY_ADD) {
PyObject *right = POP();
PyObject *left = TOP();
PyObject *sum;
if (PyUnicode_CheckExact(left) &&
PyUnicode_CheckExact(right)) {
sum = unicode_concatenate(left, right, f, next_instr);
/* unicode_concatenate consumed the ref to v */
}
else {
sum = PyNumber_Add(left, right);
Py_DECREF(left);
}
Py_DECREF(right);
SET_TOP(sum);
if (sum == NULL)
goto error;
DISPATCH();
}

TARGET(INPLACE_ADD) {
PyObject *right = POP();
PyObject *left = TOP();
PyObject *sum;
if (PyUnicode_CheckExact(left) && PyUnicode_CheckExact(right)) {
sum = unicode_concatenate(left, right, f, next_instr);
/* unicode_concatenate consumed the ref to v */
}
else {
sum = PyNumber_InPlaceAdd(left, right);
Py_DECREF(left);
}
Py_DECREF(right);
SET_TOP(sum);
if (sum == NULL)
goto error;
DISPATCH();
}

然后观察实现:

abstract.c

PyObject *
PyNumber_Add(PyObject *v, PyObject *w)
{
PyObject *result = binary_op1(v, w, NB_SLOT(nb_add));
if (result == Py_NotImplemented) {
PySequenceMethods *m = v->ob_type->tp_as_sequence;
Py_DECREF(result);
if (m && m->sq_concat) {
return (*m->sq_concat)(v, w);
}
result = binop_type_error(v, w, "+");
}
return result;
}


PyObject *
PyNumber_InPlaceAdd(PyObject *v, PyObject *w)
{
PyObject *result = binary_iop1(v, w, NB_SLOT(nb_inplace_add),
NB_SLOT(nb_add));
if (result == Py_NotImplemented) {
PySequenceMethods *m = v->ob_type->tp_as_sequence;
Py_DECREF(result);
if (m != NULL) {
binaryfunc f = NULL;
f = m->sq_inplace_concat;
if (f == NULL)
f = m->sq_concat;
if (f != NULL)
return (*f)(v, w);
}
result = binop_type_error(v, w, "+=");
}
return result;
}

于是我思考之后得出了结论:
他们有什么不同呢?最终调用的槽不同。

但是 python 代码来测试的结果,确实是 += 比 = + 快一点
2016-05-06 18:10:54 +08:00
回复了 xiaoshangmin 创建的主题 Python 看来要转行
缺库啊年轻人!那不是有-lxml2 的提示吗?明显是少 xml2 的开发库。

再说 lxml 这种东西, pip 里的装不上包管理器里也不会缺啊

传图懵逼个啥 新浪好用就新浪啊,多省时间。
2016-05-05 18:05:17 +08:00
回复了 chy373180 创建的主题 Vim 请教一下 什么让你放弃 vim 改用 neovim
@chy373180 - - 说起来 ycm 卡的要死……我用来写 python ,在自己辣鸡 vps 上试了一下 报警了
后端狗表示观察到 2015 年前端技术发生了非常大的变化,但是对于未来的发展我是相对中立的,我希望看到我用的技术发生一些符合我习惯的、简单好用的变化,但总体上说实用第一。
单独说 angular ,我是不太喜欢的。
2016-05-04 11:10:06 +08:00
回复了 yuankui 创建的主题 程序员 看到简历中称,熟悉 html, css, js 等语言的,有何感受。。
这种在后端程序员中很常见吧,我觉得算上是描述事实罢了,又不是“精通 XXX ”
2016-05-04 11:07:26 +08:00
回复了 est 创建的主题 Python uvloop: Make Python Networking Great Again 能对标 golang 的网络库
卧草 牛逼啊
1 ... 47  48  49  50  51  52  53  54  55  56 ... 69  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5021 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 07:54 · PVG 15:54 · LAX 23:54 · JFK 02:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.