由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 必须喷一下python
相关主题
讨论程序语言没什么意思,functional programming还是不错的从心底讨厌scala
How to use multi-core to speed Python programgo很牛啊。这个10ms 非常快了。
现在Window下写GUI的话用什么库?python下怎么解决GIL?
Python大牛说说那本书比较经典呢?[合集] 如何同时sort 2个vector ?
单开主题:为何痛恨python用数组做参数,在函数内部如何知道数组的size?
python太慢了怎样在Python里调用Visual C++的函数?
别人说做Python的并行还不如去学C++,我不同意。老年工程师转行学C++的更新的问题
易写性,易维护和执行效率综合来看R似乎根本就没有认真考虑过global variable的改写问题
相关话题的讨论汇总
话题: python话题: 函数话题: table话题: rep话题: 语言
进入Programming版参与讨论
1 (共1页)
N*****r
发帖数: 94
1
简单的说, 就是一坨屎
甚至不如Perl
最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
程序,用的库少,没啥感觉
折腾了一段发现的缺点
1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
A库 2 不用能, B库 3 不能用
2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制
锁进什么的,无结束符 纯粹是精神病的想法, 人类发明语言几千年好不容易在书写文
字里确定了标点符号,尼玛一精神病又把这东西搞回去了, 别的不说, 2是 print a
, 3是 print (a), 麻痹的 print是个函数你一开始搞 print a 不是精神病是啥, 至
于强制锁进导致的问题,我都懒的说了,python把行尾无结束符当成一种精神病宣扬,
导致新语言 swift julia 之流的都一个德行, 真他妈it业就是尼玛逆淘汰
3. 库, python是所谓的胶水语言,说白了大多数时间要用库,要用别人的库,要尽
量用别人的库, 问题是尼玛的库不稳定啊, 三天一小改五天一大改,程序跑着跑着好
好的,隔天update了个库, 突然发现某 api消失了, 我日你先人板板
这还不算啥,用几天发现作者不维护了,你说咋办,半路上先放着自己的活去替他维护
code?
当然了, 这个毛病不是python 一家的,整个开源行业都是这德行, 都是被 ibm这种货
色带的, 家里什么东西做烂了,没人愿意动了,开源, eclipse 就是这种典型,
eclipse 前身 visualage for java 那做的简直就是一坨屎,结果开源了,就因为免费
,再加上一帮傻逼+穷鬼瞎吹捧,居然给捧得高高的 (00年左右但凡用过visual age的
估计都会同意我的看法)
折腾了这么久,突然感觉还不如一开始上java, 估计现在也差不多出来了
语言的严谨性和可读性真的比少打两个字什么的重要多了,至于强制编程格式, 卧槽
,现在还有不支持自动格式化的编辑器吗
本来还想骂python的变量 赋值什么的,实在是懒得骂了, python 就是个典型,本来
一个人制造的垃圾,当当 shell script还可以,结果傻逼一吹捧,乱七八糟一加,就
成了半坨屎,勉强能用,一用全是坑
e*****g
发帖数: 334
2
Perl语法也奇葩..........我不喜欢Perl和Python。
大家都是老实人,规规矩矩地说人话不行吗,非得弄出那么多稀奇古怪的写法来。
w********l
发帖数: 87
3
Life is short, you need Python
d*******r
发帖数: 3299
4
直接用python3, python比swift稳定多了, perl就不要拿出来比了...
python的强制缩进是,是为了读代码方便.
如果想reproduce installation, 用 pip -r requrements.txt.
你用Java的开源库, 也是要维护版本号的呀.
w********m
发帖数: 1137
5
太搞了,每行结束不都有个\n . 真的看不见?
a*****g
发帖数: 19398
6
嗳哟。

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

c*********e
发帖数: 16335
7
一看你就不是科班出身的。知道cobol吗?

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

l********m
发帖数: 284
8
Go on

【在 c*********e 的大作中提到】
: 一看你就不是科班出身的。知道cobol吗?
h**********c
发帖数: 4120
9
Python应该是背后有VC要搞llvm,可惜,连个specification都写不出来,和老高比语无
伦次人太多。
h**********c
发帖数: 4120
10
都觉得自己有两下子
相关主题
别人说做Python的并行还不如去学C++,我不同意。go很牛啊。这个10ms 非常快了。
易写性,易维护和执行效率综合来看python下怎么解决GIL?
从心底讨厌scala[合集] 如何同时sort 2个vector ?
进入Programming版参与讨论
a***y
发帖数: 852
11
喷的太没水平,前面说的对,八成是转行的
你要吐槽GIL之类还有的一说
[在 Nisayer (si fata sinata) 的大作中提到:]
:简单的说, 就是一坨屎
:甚至不如Perl
:最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数
值程序,用的库少,没啥感觉
:折腾了一段发现的缺点
:1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
:这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发
现A库 2 不用能, B库 3 不能用
:于强制锁进导致的问题,我都懒的说了,python把行尾无结束符当成一种精神病宣扬
,导致新语言 swift julia 之流的都一个德行, 真他妈it业就是尼玛逆淘汰
:量用别人的库, 问题是尼玛的库不稳定啊, 三天一小改五天一大改,程序跑着跑着
好好的,隔天update了个库, 突然发现某 api消失了, 我日你先人板板
:这还不算啥,用几天发现作者不维护了,你说咋办,半路上先放着自己的活去替他维
护code?
:当然了, 这个毛病不是python 一家的,整个开源行业都是这德行, 都是被 ibm这种
货色带的, 家里什么东西做烂了,没人愿意动了,开源, eclipse 就是这种典型,
:..........
i*******t
发帖数: 79
12
喜欢末尾加;人家也没限制你,
既然知道是胶水语言,喜欢java库还非要用python库?

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

w******j
发帖数: 6
13
Too young too naive. VisualAge was written mainly in Smalltalk while Eclipse
in Java. You want to compare an apple with orange?
Do some research before you complain about it!
m*********t
发帖数: 858
14
你这喷的也不对路吧。
还有抱怨别人更新了改接口的?不就是一版本管理问题么。

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

z***7
发帖数: 555
15
go with C
x***u
发帖数: 297
16
GIL +1
大部分人开始时碰不到GIL。等碰上时已经Hook Up了。

[在 Nisayer (si fata sinata) 的大作中提到:]

【在 a***y 的大作中提到】
: 喷的太没水平,前面说的对,八成是转行的
: 你要吐槽GIL之类还有的一说
: [在 Nisayer (si fata sinata) 的大作中提到:]
: :简单的说, 就是一坨屎
: :甚至不如Perl
: :最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数
: 值程序,用的库少,没啥感觉
: :折腾了一段发现的缺点
: :1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: :这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发

g**********y
发帖数: 423
17
我用python写了个自动点bing reward的,升级了selenium包,代码也需要重新改。
s*****V
发帖数: 21731
18
Python 比Perl 强海里去了,至少有很高的可读性,什么缩进啥的习惯了根本不是个事
情,高质量的C++代码也要比较规范的缩进。

【在 e*****g 的大作中提到】
: Perl语法也奇葩..........我不喜欢Perl和Python。
: 大家都是老实人,规规矩矩地说人话不行吗,非得弄出那么多稀奇古怪的写法来。

s*****V
发帖数: 21731
19
Python总的来说是一种非常成功的语言,继承了C++和JAVA的主体语法但是更简洁, 他
在它主业方面都干得很好,现在大家指责的实际上是它原来没打算干的事情,等于骂百
米冠军不能跑长跑。Python最大的问题其实还是没有静态类型。所以想规范的地方规范
不起来,想快的地方快不起来。Python 现在在改,但是包袱太重,估计很难改好了。
下一代牛逼语言应该继承PYTHON 类似的语法,但是天生支撑静态类型和多线程,本来
GO是有希望的,可是GO 的语法太坑爹,为啥要类型后置?
a9
发帖数: 21638
20
语言能不能流行完全看能不能傍上大腿。

【在 s*****V 的大作中提到】
: Python总的来说是一种非常成功的语言,继承了C++和JAVA的主体语法但是更简洁, 他
: 在它主业方面都干得很好,现在大家指责的实际上是它原来没打算干的事情,等于骂百
: 米冠军不能跑长跑。Python最大的问题其实还是没有静态类型。所以想规范的地方规范
: 不起来,想快的地方快不起来。Python 现在在改,但是包袱太重,估计很难改好了。
: 下一代牛逼语言应该继承PYTHON 类似的语法,但是天生支撑静态类型和多线程,本来
: GO是有希望的,可是GO 的语法太坑爹,为啥要类型后置?

相关主题
用数组做参数,在函数内部如何知道数组的size?R似乎根本就没有认真考虑过global variable的改写问题
怎样在Python里调用Visual C++的函数?python下的expect
老年工程师转行学C++的更新的问题刚开始看python
进入Programming版参与讨论
d******c
发帖数: 2407
21
这喷的槽点太多简直无从说起
只说一点
visual age for java挺好用的,跟同时期的jbuilder, vj++, netbeans比有其独特之
处,我很喜欢
它的gui设计界面很好用
vaj先是用smalltalk,然后用java写,短期改名叫websphere workbench,然后开源成
eclipse,目的就是要打倒sun(日蚀)。当时intelliJ IDEA还没有特别火,netbeans
也免费,后来也做的不错。eclipse是靠整个生态系统超过netbeans的,而且ibm搞swt
,性能和效果都比swing强,可惜后续没发展。
我当年在ibm developerworks 中文版上靠这个主题骗了一些稿费的。

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

c*********e
发帖数: 16335
22
ibm的一个ide,是基于eclipse的,使用感受和eclipse几乎一样。ibm在往上卖这个产品
,还挺贵的:
https://www.ibm.com/ms-en/marketplace/rational-developer-for-i
IBM Rational Developer for i

netbeans
swt

【在 d******c 的大作中提到】
: 这喷的槽点太多简直无从说起
: 只说一点
: visual age for java挺好用的,跟同时期的jbuilder, vj++, netbeans比有其独特之
: 处,我很喜欢
: 它的gui设计界面很好用
: vaj先是用smalltalk,然后用java写,短期改名叫websphere workbench,然后开源成
: eclipse,目的就是要打倒sun(日蚀)。当时intelliJ IDEA还没有特别火,netbeans
: 也免费,后来也做的不错。eclipse是靠整个生态系统超过netbeans的,而且ibm搞swt
: ,性能和效果都比swing强,可惜后续没发展。
: 我当年在ibm developerworks 中文版上靠这个主题骗了一些稿费的。

x***4
发帖数: 1815
23
没错,类型真是非常重要。

【在 s*****V 的大作中提到】
: Python总的来说是一种非常成功的语言,继承了C++和JAVA的主体语法但是更简洁, 他
: 在它主业方面都干得很好,现在大家指责的实际上是它原来没打算干的事情,等于骂百
: 米冠军不能跑长跑。Python最大的问题其实还是没有静态类型。所以想规范的地方规范
: 不起来,想快的地方快不起来。Python 现在在改,但是包袱太重,估计很难改好了。
: 下一代牛逼语言应该继承PYTHON 类似的语法,但是天生支撑静态类型和多线程,本来
: GO是有希望的,可是GO 的语法太坑爹,为啥要类型后置?

L****8
发帖数: 3938
24
python 没有 end 标志
如果缩进不小心改了 程序也能跑 很难发现这种bug
我现在基本都写 #end

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

L****8
发帖数: 3938
25
C++ 有{} 编辑器比如visual studio 自动帮你搞好缩进

【在 s*****V 的大作中提到】
: Python 比Perl 强海里去了,至少有很高的可读性,什么缩进啥的习惯了根本不是个事
: 情,高质量的C++代码也要比较规范的缩进。

c*********e
发帖数: 16335
26
对。很难理解有的人只用imac, vim.

【在 L****8 的大作中提到】
: C++ 有{} 编辑器比如visual studio 自动帮你搞好缩进
d******a
发帖数: 32122
27
R和matlab的语法都比Python正规很多

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

x***u
发帖数: 297
28
R? R?! Seriously?


: R和matlab的语法都比Python正规很多



【在 d******a 的大作中提到】
: R和matlab的语法都比Python正规很多
b*********n
发帖数: 2284
29
use julia, it solves all your problems.

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

b****b
发帖数: 656
30
matlab? matlab?! Seriously?
说说 isstr('a'), isstr(['a' 'b']), isstr(['a'; 'b']), isvector('a'),
ismatrix('a') 那个返回true?

【在 d******a 的大作中提到】
: R和matlab的语法都比Python正规很多
相关主题
Remove elements from multiple vectors in C++How to use multi-core to speed Python program
Python vs J2EE现在Window下写GUI的话用什么库?
讨论程序语言没什么意思,functional programming还是不错的Python大牛说说那本书比较经典呢?
进入Programming版参与讨论
b****b
发帖数: 656
31
人家辩解说这都是SPlus的锅, 为了兼容性才这样的。你应该自己用drop=False,
check.names=False等参数避免这些情况。
a****8
发帖数: 2771
32
不能用multi-thread就用multi-process. 再不济直接上celery。

【在 x***u 的大作中提到】
: GIL +1
: 大部分人开始时碰不到GIL。等碰上时已经Hook Up了。
:
: [在 Nisayer (si fata sinata) 的大作中提到:]

n***p
发帖数: 110
33
应该是说反话吧,哈哈

【在 x***u 的大作中提到】
: R? R?! Seriously?
:
:
: R和matlab的语法都比Python正规很多
:

T*******e
发帖数: 249
34
python也好R也好在data science这个领域火起来主要还是因为简单。有个idea几十行
code就能实现,你真的要做一个application的话当然还是要上C/C++或者上java. 你非
要拿python和R去干本来就不是他们干的事然后来喷这语言怎么做不了这做不了那,对啊
,本来就做不到啊.
g****t
发帖数: 31659
35
再容易用的语言,也
不要随便深入学,深入用。
大脑和肌肉一样的。有记忆。
Python这种2页cheat sheet 覆盖不了的知识,
我觉得应该尽可能看都不要看。不然,钻研深了
那这就好比练了一辈子中距离跳投,忽然人家都是投三分的
了。
那就拿不到高工资了。金州勇士队的利文斯顿不值钱啊。


: python也好R也好在data science这个领域火起来主要还是因为简单。有
个idea
几十行

: code就能实现,你真的要做一个application的话当然还是要上C/C 或者
上java
. 你非

: 要拿python和R去干本来就不是他们干的事然后来喷这语言怎么做不了这
做不了
那,对啊

: ,本来就做不到啊.



【在 T*******e 的大作中提到】
: python也好R也好在data science这个领域火起来主要还是因为简单。有个idea几十行
: code就能实现,你真的要做一个application的话当然还是要上C/C++或者上java. 你非
: 要拿python和R去干本来就不是他们干的事然后来喷这语言怎么做不了这做不了那,对啊
: ,本来就做不到啊.

N*****r
发帖数: 94
36
你们这些人是真不懂假不懂
R是类 lisp的语法 ,虽然统计那帮人把R实现的很烂,但是至少在语法正确上,比
python强的多
N*****r
发帖数: 94
37

这个。。。
你要不要去看看python 社区怎么说的
人可是说了, 百万行代码的程序, 亿次访问的站点,上python没问题

【在 T*******e 的大作中提到】
: python也好R也好在data science这个领域火起来主要还是因为简单。有个idea几十行
: code就能实现,你真的要做一个application的话当然还是要上C/C++或者上java. 你非
: 要拿python和R去干本来就不是他们干的事然后来喷这语言怎么做不了这做不了那,对啊
: ,本来就做不到啊.

N*****r
发帖数: 94
38

我还真试了一下, 比python的确强很多
就是目前版本太低,还没稳定, 要是能有接近1.0就好了

【在 b*********n 的大作中提到】
: use julia, it solves all your problems.
m*****n
发帖数: 3575
39
居然有人吹R规范!!!

【在 N*****r 的大作中提到】
: 你们这些人是真不懂假不懂
: R是类 lisp的语法 ,虽然统计那帮人把R实现的很烂,但是至少在语法正确上,比
: python强的多

d******a
发帖数: 32122
40
属实。我说R比Python规范,说的是官方的东西,不是那些二把刀统计系的写的package
Python 3不兼容Python 2,要安装就不得不安装两个,这说明这个语言存在重大的设计
问题
还有靠缩进来控制逻辑结构,还有比这个更奇葩的吗?

【在 N*****r 的大作中提到】
: 你们这些人是真不懂假不懂
: R是类 lisp的语法 ,虽然统计那帮人把R实现的很烂,但是至少在语法正确上,比
: python强的多

相关主题
单开主题:为何痛恨python易写性,易维护和执行效率综合来看
python太慢了从心底讨厌scala
别人说做Python的并行还不如去学C++,我不同意。go很牛啊。这个10ms 非常快了。
进入Programming版参与讨论
m*****n
发帖数: 3575
41
因为你笨到用不到不规范的地方
最简单的,apply只能对一个参数进行变分,而且这个参数还必须是函数的第一个参数
我想列出一个二元函数在一个长方形点阵上的值,你用R写写看?

package

【在 d******a 的大作中提到】
: 属实。我说R比Python规范,说的是官方的东西,不是那些二把刀统计系的写的package
: Python 3不兼容Python 2,要安装就不得不安装两个,这说明这个语言存在重大的设计
: 问题
: 还有靠缩进来控制逻辑结构,还有比这个更奇葩的吗?

d******c
发帖数: 2407
42
不清楚你的问题是什么。你是说有一个长方形点阵,一个二元函数参数是x,y然后对每
个点求这个函数?
如果函数本身不是vectorized,一次只能对单个xy求值,写个for loop就是了
如果函数是vectorized,那你把点阵转成一维的,弄出x,y两个vector给函数,把结果
再弄成原来形状不就行了。
执着apply干嘛,apply就是syntax sugar,apply和vectorized毫无关系,不是你用
apply就速度快乐。for loop用的正确不会有性能差异。
真正所谓vectorize的性能差异,来自底层的C实现能直接处理vector输入。
我几乎从来不用apply,lapply倒是常用,那是为了避免自己手工初始化list。

【在 m*****n 的大作中提到】
: 因为你笨到用不到不规范的地方
: 最简单的,apply只能对一个参数进行变分,而且这个参数还必须是函数的第一个参数
: 我想列出一个二元函数在一个长方形点阵上的值,你用R写写看?
:
: package

d******a
发帖数: 32122
43

从你的这个简单问题看,你脑子真的很不怎么样,你中文系的吧?半路出家写程序。
就你还有脸张口就说别人笨
你代表了一类不适合编程的人,这类人执拗于一些黑箱子,反正简单:给个输入,黑箱
子给个输出。但是黑箱子总归有应用的局限。当别人给的黑箱子无法很直接地解决某个
问题时,你这种人不是去自己写个高效率的黑箱子(从你描述的问题看,写一个很
容易吧
,当然对笨人来说未必),或者绕个道做个变换来用已有的黑箱子,而是骂黑箱子。

【在 m*****n 的大作中提到】
: 因为你笨到用不到不规范的地方
: 最简单的,apply只能对一个参数进行变分,而且这个参数还必须是函数的第一个参数
: 我想列出一个二元函数在一个长方形点阵上的值,你用R写写看?
:
: package

m******r
发帖数: 1033
44
你讨论的很好。 我一看到apply顿时眼冒金星,大脑一片空白 。
你说的这个什么参数,说的也很好。 我发现R的很多函数,我看她的文档,总会有一个
参数是一大串省略号,完全不知道表示什意思。 比如一个简单的排序操作。 其文档如
下:
sort(x, decreasing = FALSE, ...)
...
arguments to be passed to or from methods or (for the default methods and
objects without a class) to sort.int
哪位大神讲讲 这写的什么意思 ??

【在 m*****n 的大作中提到】
: 因为你笨到用不到不规范的地方
: 最简单的,apply只能对一个参数进行变分,而且这个参数还必须是函数的第一个参数
: 我想列出一个二元函数在一个长方形点阵上的值,你用R写写看?
:
: package

d******c
发帖数: 2407
45
google 一下很难吗?我发现几乎你的每个问题都是这种,要么上来就搞代码然后搞不
明白,要么上来就读paper然后搞不明白,不能从basic开始吗?遇到问题不能搜索吗?
不会搜索,不会自己学习怎么编程?
搜索一下r dot dot dot都有无数文章给你讲解。
r是functional的,函数可以作为其他函数的输入或输出。
sort.int 有很多参数,sort是个generic版,你可以在sort里用sort.int的参数,当处
理int的x的时候,method dispatch会先执行sort的代码,然后转给sort.int继续处理
,sort.int的特殊参数被carry过去了。

【在 m******r 的大作中提到】
: 你讨论的很好。 我一看到apply顿时眼冒金星,大脑一片空白 。
: 你说的这个什么参数,说的也很好。 我发现R的很多函数,我看她的文档,总会有一个
: 参数是一大串省略号,完全不知道表示什意思。 比如一个简单的排序操作。 其文档如
: 下:
: sort(x, decreasing = FALSE, ...)
: ...
: arguments to be passed to or from methods or (for the default methods and
: objects without a class) to sort.int
: 哪位大神讲讲 这写的什么意思 ??

b****b
发帖数: 656
46
那你看看这个?https://www.mitbbs.com/article_t/Statistics/31391451.html
apply(matrix(c(rep(1, 10), rep(2,10)), ncol=4), 1, table)[,1]
没问题, 但
apply(matrix(c(rep(1, 10), rep(1,10)), ncol=4), 1, table)[,1]
就出错。这可都是R的核心函数,不是你所谓的乱七八糟的package 。这个问题讨厌的
地方在于完全一样类型大小的输入数据,有三种可能的结果。其它语言调试时基本是看
看输入是什么类型,有什么corner case啥的, R调试不仅要考虑输入,还要考虑输出
有几种类型...
d******a
发帖数: 32122
47
这赖不到R上
虽然两个例子里matrix的大小是一样的,但每行列数字分布不一样,有的数字都一样,
有的有两种不同数字,再复杂的会有更多不同的。table只管输出频数,人没有义务还
要考虑apply后输出齐整。
换句话说,你这么简单地组合两个函数,是没用对。你没有考虑大多数情况,把问题想
简单了---这是很普遍的编程错误,是个编程语言就存在,是人的问题。
另外,我是真不喜欢apply(matrix(c(rep(1, 10), rep(2,10)), ncol=4), 1, table)[
,1]
类的语句,要是我,得分成好几步。
你如果就这么写程序,其他语言也一样出问题。

【在 b****b 的大作中提到】
: 那你看看这个?https://www.mitbbs.com/article_t/Statistics/31391451.html
: apply(matrix(c(rep(1, 10), rep(2,10)), ncol=4), 1, table)[,1]
: 没问题, 但
: apply(matrix(c(rep(1, 10), rep(1,10)), ncol=4), 1, table)[,1]
: 就出错。这可都是R的核心函数,不是你所谓的乱七八糟的package 。这个问题讨厌的
: 地方在于完全一样类型大小的输入数据,有三种可能的结果。其它语言调试时基本是看
: 看输入是什么类型,有什么corner case啥的, R调试不仅要考虑输入,还要考虑输出
: 有几种类型...

m*****n
发帖数: 3575
48
还有脸说loop
你知道python对这种问题用list comprehension一行代码就搞定了吗?
再给你来一个
R无法指定编码,导致有中文的R代码经常换个环境就出乱码
这叫规范吗?
又来一个
R把table写csv的时候,如果要把行标和列标都写上
那么第一行应该是行标,然后R就把行标顺序写上,第一行第一个没留空位
V1,V2,V3
1,0,0,0
2,0,0,0
如果Excel存csv,会规范的给第一行第一个留空位
,V1,V2,V3
1,0,0,0
2,0,0,0
这个R的规范性简直是屎好不好?
还有读数据经常自动转成factor类型,本来常用数据接口就一个csv,多少版了都搞不
利索?

【在 d******a 的大作中提到】
: 这赖不到R上
: 虽然两个例子里matrix的大小是一样的,但每行列数字分布不一样,有的数字都一样,
: 有的有两种不同数字,再复杂的会有更多不同的。table只管输出频数,人没有义务还
: 要考虑apply后输出齐整。
: 换句话说,你这么简单地组合两个函数,是没用对。你没有考虑大多数情况,把问题想
: 简单了---这是很普遍的编程错误,是个编程语言就存在,是人的问题。
: 另外,我是真不喜欢apply(matrix(c(rep(1, 10), rep(2,10)), ncol=4), 1, table)[
: ,1]
: 类的语句,要是我,得分成好几步。
: 你如果就这么写程序,其他语言也一样出问题。

d******a
发帖数: 32122
49
是不是一行代码就搞定,和程序语言是否规范根本没有关系,很多编程语言没法一行代
码搞定,人照样是规范的语言。
Python 2 和 Python 3的那些区别则是根本的(比如3/2=?),如果你认为存在一个编
程语言叫Python,那这个编程语言是不规范的,因为用于计算的语言,居然后一个版本
并不兼容前一个版本在最简单的计算中的规范。
至于table写csv,你自己去看帮助文件吧,究竟什么参数能得到什么结果,具体到
你给的例子:就是说怎么设参数能跟Excel兼容,人规范得清清楚楚。

【在 m*****n 的大作中提到】
: 还有脸说loop
: 你知道python对这种问题用list comprehension一行代码就搞定了吗?
: 再给你来一个
: R无法指定编码,导致有中文的R代码经常换个环境就出乱码
: 这叫规范吗?
: 又来一个
: R把table写csv的时候,如果要把行标和列标都写上
: 那么第一行应该是行标,然后R就把行标顺序写上,第一行第一个没留空位
: V1,V2,V3
: 1,0,0,0

b****b
发帖数: 656
50
人家那么写,显然只是为了一句话突出问题。真正的程序应该是
apply(A, 1, table)
你仔细看看,table单独用的时候好好的
> table(c(2, 2, 2, 2))
2
4
> table(c(2, 2, 2, 1))
1 2
1 3
> table(c(2, 3, 2, 1))
1 2 3
1 2 1
但是用在apply上
> apply(matrix(c(rep(1, 10), rep(2,10)), ncol=4), 1, table)
[,1] [,2] [,3] [,4] [,5]
1 2 2 2 2 2
2 2 2 2 2 2
> apply(matrix(c(rep(2, 16), rep(3,4)), ncol=4), 1, table)
[[1]]
2
4
[[2]]
2 3
3 1
[[3]]
2 3
3 1
[[4]]
2 3
3 1
[[5]]
2 3
3 1
> apply(matrix(c(rep(2, 16), rep(2,4)), ncol=4), 1, table)
[1] 4 4 4 4 4
正确的做法是输出以第二种为标准格式,每行给一个频率,因为用户可能需要知道每行
有几个不同的数字,究竟是哪几个数字,或者是各个数字的频率。就拿第三种输出来说
,平白无故就丢失了每行究竟是什么数字的信息,这种随意丢失table返回信息的事情
算作严整?

)[

【在 d******a 的大作中提到】
: 这赖不到R上
: 虽然两个例子里matrix的大小是一样的,但每行列数字分布不一样,有的数字都一样,
: 有的有两种不同数字,再复杂的会有更多不同的。table只管输出频数,人没有义务还
: 要考虑apply后输出齐整。
: 换句话说,你这么简单地组合两个函数,是没用对。你没有考虑大多数情况,把问题想
: 简单了---这是很普遍的编程错误,是个编程语言就存在,是人的问题。
: 另外,我是真不喜欢apply(matrix(c(rep(1, 10), rep(2,10)), ncol=4), 1, table)[
: ,1]
: 类的语句,要是我,得分成好几步。
: 你如果就这么写程序,其他语言也一样出问题。

相关主题
python下怎么解决GIL?怎样在Python里调用Visual C++的函数?
[合集] 如何同时sort 2个vector ?老年工程师转行学C++的更新的问题
用数组做参数,在函数内部如何知道数组的size?R似乎根本就没有认真考虑过global variable的改写问题
进入Programming版参与讨论
w********l
发帖数: 87
51
2017年,3.7都在开发了,还在喷py2和3不兼容。。。
web, ml,quant社区主流都转py3了,市面上的书都是py3,就剩下leetcode刷题的小白
们还在用2
s*****V
发帖数: 21731
52
童鞋,语言不是看怎么难用怎么好而是要看有多大用处。 Python就是更高层次的抽象
,作者可以把精力集中在逻辑本身。

【在 g****t 的大作中提到】
: 再容易用的语言,也
: 不要随便深入学,深入用。
: 大脑和肌肉一样的。有记忆。
: Python这种2页cheat sheet 覆盖不了的知识,
: 我觉得应该尽可能看都不要看。不然,钻研深了
: 那这就好比练了一辈子中距离跳投,忽然人家都是投三分的
: 了。
: 那就拿不到高工资了。金州勇士队的利文斯顿不值钱啊。
:
:
: python也好R也好在data science这个领域火起来主要还是因为简单。有

m*****n
发帖数: 3575
53
你给解释一下这两段代码
> ">"(3,5)
[1] FALSE
> f=">"
> f(3,5)
Error in f(3, 5) : 没有"f"这个函数

【在 d******a 的大作中提到】
: 是不是一行代码就搞定,和程序语言是否规范根本没有关系,很多编程语言没法一行代
: 码搞定,人照样是规范的语言。
: Python 2 和 Python 3的那些区别则是根本的(比如3/2=?),如果你认为存在一个编
: 程语言叫Python,那这个编程语言是不规范的,因为用于计算的语言,居然后一个版本
: 并不兼容前一个版本在最简单的计算中的规范。
: 至于table写csv,你自己去看帮助文件吧,究竟什么参数能得到什么结果,具体到
: 你给的例子:就是说怎么设参数能跟Excel兼容,人规范得清清楚楚。

P*****6
发帖数: 273
54
我觉得python 主要是给data scientist用的,然后用来建造prototype.
而且python易学,但是精通其实要花不少时间。所以给很多入手的人错觉。建大一点的
project时就体会出来了。难免抱怨。其实这个也很重要。因为项目开始时的判断对项
目开发者挺重要的。要是早知道这么麻烦,就不选python了。

netbeans
swt

【在 d******c 的大作中提到】
: 这喷的槽点太多简直无从说起
: 只说一点
: visual age for java挺好用的,跟同时期的jbuilder, vj++, netbeans比有其独特之
: 处,我很喜欢
: 它的gui设计界面很好用
: vaj先是用smalltalk,然后用java写,短期改名叫websphere workbench,然后开源成
: eclipse,目的就是要打倒sun(日蚀)。当时intelliJ IDEA还没有特别火,netbeans
: 也免费,后来也做的不错。eclipse是靠整个生态系统超过netbeans的,而且ibm搞swt
: ,性能和效果都比swing强,可惜后续没发展。
: 我当年在ibm developerworks 中文版上靠这个主题骗了一些稿费的。

P*****6
发帖数: 273
55
说apply不能加快速度,你是用简单函数测试的吧。我老师N年前也是这么交的。apply
主要节省编译时间。函数代码长才有用

【在 d******c 的大作中提到】
: 不清楚你的问题是什么。你是说有一个长方形点阵,一个二元函数参数是x,y然后对每
: 个点求这个函数?
: 如果函数本身不是vectorized,一次只能对单个xy求值,写个for loop就是了
: 如果函数是vectorized,那你把点阵转成一维的,弄出x,y两个vector给函数,把结果
: 再弄成原来形状不就行了。
: 执着apply干嘛,apply就是syntax sugar,apply和vectorized毫无关系,不是你用
: apply就速度快乐。for loop用的正确不会有性能差异。
: 真正所谓vectorize的性能差异,来自底层的C实现能直接处理vector输入。
: 我几乎从来不用apply,lapply倒是常用,那是为了避免自己手工初始化list。

c*********e
发帖数: 16335
56
start-up选python,是为了快点写完代码,毕竟刚开始,谁也不知道这个代码能赚多少
钱,能活几年。后来,如果能搞到大的投资,项目做大了,就发现python不好用了,要
用java.但是,代码已经写了那么多了,再改java已经来不及了。

【在 P*****6 的大作中提到】
: 我觉得python 主要是给data scientist用的,然后用来建造prototype.
: 而且python易学,但是精通其实要花不少时间。所以给很多入手的人错觉。建大一点的
: project时就体会出来了。难免抱怨。其实这个也很重要。因为项目开始时的判断对项
: 目开发者挺重要的。要是早知道这么麻烦,就不选python了。
:
: netbeans
: swt

d******a
发帖数: 32122
57
你自己都承认了,单个零件(table function)运行的时候没问题
你把两个零件组合在一起,究竟怎么组合才能运行正确,需要你自己动脑筋,否则要程
序员干什么。你组合错了,拿不到结果就赖零件 ---- 还是那句话,你用其他语言,一
样会出问题。即便某种语言瞎猫碰死耗子让你这么组合,其他方面你一样出问题。

【在 b****b 的大作中提到】
: 人家那么写,显然只是为了一句话突出问题。真正的程序应该是
: apply(A, 1, table)
: 你仔细看看,table单独用的时候好好的
: > table(c(2, 2, 2, 2))
: 2
: 4
: > table(c(2, 2, 2, 1))
: 1 2
: 1 3
: > table(c(2, 3, 2, 1))

d******c
发帖数: 2407
58
table是给人看的,它的输出格式不适合作为其他函数的输入。

【在 b****b 的大作中提到】
: 那你看看这个?https://www.mitbbs.com/article_t/Statistics/31391451.html
: apply(matrix(c(rep(1, 10), rep(2,10)), ncol=4), 1, table)[,1]
: 没问题, 但
: apply(matrix(c(rep(1, 10), rep(1,10)), ncol=4), 1, table)[,1]
: 就出错。这可都是R的核心函数,不是你所谓的乱七八糟的package 。这个问题讨厌的
: 地方在于完全一样类型大小的输入数据,有三种可能的结果。其它语言调试时基本是看
: 看输入是什么类型,有什么corner case啥的, R调试不仅要考虑输入,还要考虑输出
: 有几种类型...

d******c
发帖数: 2407
59
一行代码不算什么,每种语言都有在特定环境下一行代码的时候。
你用某个package也可以一行代码做其他语言许多行的事情。
至于stringasfactor是历史遗留问题,可以设option,然后现在读csv早就不该用base
了,要么用fread,要么用readr,都缺省不转factor。这两个都比base快上10倍左右。

【在 m*****n 的大作中提到】
: 还有脸说loop
: 你知道python对这种问题用list comprehension一行代码就搞定了吗?
: 再给你来一个
: R无法指定编码,导致有中文的R代码经常换个环境就出乱码
: 这叫规范吗?
: 又来一个
: R把table写csv的时候,如果要把行标和列标都写上
: 那么第一行应该是行标,然后R就把行标顺序写上,第一行第一个没留空位
: V1,V2,V3
: 1,0,0,0

d******c
发帖数: 2407
60
双引号你弄出来的是个string。对于symbol必须用``。同理如果你要查help,也只能用
?`>`而不是?">"。用一点common sense也会知道你那是个string。
> f <- `>`
> f(3,5)
[1] FALSE

【在 m*****n 的大作中提到】
: 你给解释一下这两段代码
: > ">"(3,5)
: [1] FALSE
: > f=">"
: > f(3,5)
: Error in f(3, 5) : 没有"f"这个函数

相关主题
python下的expectPython vs J2EE
刚开始看python讨论程序语言没什么意思,functional programming还是不错的
Remove elements from multiple vectors in C++How to use multi-core to speed Python program
进入Programming版参与讨论
d******c
发帖数: 2407
61
怎么节省编译时间?
实际上是减少了function call的数量,在R里function call多了有一定成本。具体要
看代码是什么结构,但一般来说这方面的差异不大(远不如vectorized的差异),除非写
的方式不对。

apply

【在 P*****6 的大作中提到】
: 说apply不能加快速度,你是用简单函数测试的吧。我老师N年前也是这么交的。apply
: 主要节省编译时间。函数代码长才有用

m*****n
发帖数: 3575
62
> f = '>'
> f(3,5)
Error in f(3, 5) : 没有"f"这个函数
大牛给解释解释?

【在 d******c 的大作中提到】
: 双引号你弄出来的是个string。对于symbol必须用``。同理如果你要查help,也只能用
: ?`>`而不是?">"。用一点common sense也会知道你那是个string。
: > f <- `>`
: > f(3,5)
: [1] FALSE

b****b
发帖数: 656
63
呵呵,好的语言的一个标准就是标准化,这种奇怪的问题越少越好,R就是反面典型。
写程序有点像组装汽车,零件间的配合比零件本身的质量还要重要。Python下这一块那
一块,怎么组合一清二楚,搭起来就能用。R下面零件看起来还行,搭起来就是这儿不
对哪儿不对,永远不知哪里会出什么新问题。你也别和我较劲说我不懂R,大家怎么用
这两个语言就是最好的证明,对初学者Python可以轻易写几百行的程序,R基本只能交
互使用。对专业人士Python可以写几百万行的大型程序,R顶天就是大点的库,这就是
语言的局限性造成的。

【在 d******a 的大作中提到】
: 你自己都承认了,单个零件(table function)运行的时候没问题
: 你把两个零件组合在一起,究竟怎么组合才能运行正确,需要你自己动脑筋,否则要程
: 序员干什么。你组合错了,拿不到结果就赖零件 ---- 还是那句话,你用其他语言,一
: 样会出问题。即便某种语言瞎猫碰死耗子让你这么组合,其他方面你一样出问题。

m*****n
发帖数: 3575
64
是这么回事
我启发了他们老半天
函数名作变量这种“函数式编程”的东西(R是所谓的函数式)在R里面碰到不等式就瞎眼
'>'(3,5)能判断出FALSE
而只要把'>'函数换个变量名
f = '>'
就认不出这个比大小的函数了
f(3,5)
错误:f不是函数
这tmd编起程来谁不急啊!
本来逻辑设计的好好的,R就在这里留了个坑!

【在 b****b 的大作中提到】
: 呵呵,好的语言的一个标准就是标准化,这种奇怪的问题越少越好,R就是反面典型。
: 写程序有点像组装汽车,零件间的配合比零件本身的质量还要重要。Python下这一块那
: 一块,怎么组合一清二楚,搭起来就能用。R下面零件看起来还行,搭起来就是这儿不
: 对哪儿不对,永远不知哪里会出什么新问题。你也别和我较劲说我不懂R,大家怎么用
: 这两个语言就是最好的证明,对初学者Python可以轻易写几百行的程序,R基本只能交
: 互使用。对专业人士Python可以写几百万行的大型程序,R顶天就是大点的库,这就是
: 语言的局限性造成的。

d******c
发帖数: 2407
65
前面不是告诉你了, 必须用` 而不是", ">"在哪个语言里都是字符串
">"()能用和R parse表达式的方式有关,不代表>是">"
我还以为讲的足够清楚了,你还在宣称胜利,号称启发别人。

【在 m*****n 的大作中提到】
: 是这么回事
: 我启发了他们老半天
: 函数名作变量这种“函数式编程”的东西(R是所谓的函数式)在R里面碰到不等式就瞎眼
: '>'(3,5)能判断出FALSE
: 而只要把'>'函数换个变量名
: f = '>'
: 就认不出这个比大小的函数了
: f(3,5)
: 错误:f不是函数
: 这tmd编起程来谁不急啊!

d******a
发帖数: 32122
66
零件之间的配合是靠程序员。程序员根据现成的函数,写一些代码拼装起来。
再说一遍,table函数是显示用的,而且本来就不是R语言的核心,其他语言多数也没有
这么个函数。你不满意table,完全可以自己写一个函数满足自己的需要。
根据table和apply的功能,可以推出你那种组合是不对的,这本身说明R是规范的---并
没有得出和理论不一致的结果。要达到你要的,你要么自己重新写table函数,要么接
受table函数,但是写一些根据各行/列不同数值个数,格式化输出的代码。你不写那些
代码,仅仅把table和apply简单组合,得出错误的结果,赖不到R上,只能说明你的水
平不行。而你还拿着这个到论坛上炫耀,说明你连基本的编程思路都没有。

【在 b****b 的大作中提到】
: 呵呵,好的语言的一个标准就是标准化,这种奇怪的问题越少越好,R就是反面典型。
: 写程序有点像组装汽车,零件间的配合比零件本身的质量还要重要。Python下这一块那
: 一块,怎么组合一清二楚,搭起来就能用。R下面零件看起来还行,搭起来就是这儿不
: 对哪儿不对,永远不知哪里会出什么新问题。你也别和我较劲说我不懂R,大家怎么用
: 这两个语言就是最好的证明,对初学者Python可以轻易写几百行的程序,R基本只能交
: 互使用。对专业人士Python可以写几百万行的大型程序,R顶天就是大点的库,这就是
: 语言的局限性造成的。

d******c
发帖数: 2407
67
规模大了以后python很难维护的说法听过一些,几百万行的大型程序还没听说过
R有无数的库,很多时候代码都不长,你用代码行数比那的确不会太多。
一般来说R的限制还是在性能上的。R的专业人士写R没有什么问题,别拿R新手写的程序
说事。R新手多,其实说明上手快,应用范围广。

【在 b****b 的大作中提到】
: 呵呵,好的语言的一个标准就是标准化,这种奇怪的问题越少越好,R就是反面典型。
: 写程序有点像组装汽车,零件间的配合比零件本身的质量还要重要。Python下这一块那
: 一块,怎么组合一清二楚,搭起来就能用。R下面零件看起来还行,搭起来就是这儿不
: 对哪儿不对,永远不知哪里会出什么新问题。你也别和我较劲说我不懂R,大家怎么用
: 这两个语言就是最好的证明,对初学者Python可以轻易写几百行的程序,R基本只能交
: 互使用。对专业人士Python可以写几百万行的大型程序,R顶天就是大点的库,这就是
: 语言的局限性造成的。

b****b
发帖数: 656
68
真服了你了,有问题就是用户问题,或者不是语言核心。这个例子有问题的明显是
apply,不是table,table在各种情况下都运行正确,返回同样的类型,是apply莫名其
妙把table的返回信息重组甚至丢掉了,要重写也只能重写apply,而不是table。至于
你的人身攻击,如果说水平高就是深入了解R的各个坑或者有足够的耐心填坑,我就直
接呵呵了。

【在 d******a 的大作中提到】
: 零件之间的配合是靠程序员。程序员根据现成的函数,写一些代码拼装起来。
: 再说一遍,table函数是显示用的,而且本来就不是R语言的核心,其他语言多数也没有
: 这么个函数。你不满意table,完全可以自己写一个函数满足自己的需要。
: 根据table和apply的功能,可以推出你那种组合是不对的,这本身说明R是规范的---并
: 没有得出和理论不一致的结果。要达到你要的,你要么自己重新写table函数,要么接
: 受table函数,但是写一些根据各行/列不同数值个数,格式化输出的代码。你不写那些
: 代码,仅仅把table和apply简单组合,得出错误的结果,赖不到R上,只能说明你的水
: 平不行。而你还拿着这个到论坛上炫耀,说明你连基本的编程思路都没有。

b****b
发帖数: 656
69
"R有无数的库,很多时候代码都不长"直接就说明了R在接口严谨性方面的欠缺。几百几
千行的程序花大力气内部可以基本没问题,但搞通用接口处理各种不同大小类型数据让
各个部件一起工作就不可靠。

【在 d******c 的大作中提到】
: 规模大了以后python很难维护的说法听过一些,几百万行的大型程序还没听说过
: R有无数的库,很多时候代码都不长,你用代码行数比那的确不会太多。
: 一般来说R的限制还是在性能上的。R的专业人士写R没有什么问题,别拿R新手写的程序
: 说事。R新手多,其实说明上手快,应用范围广。

d******a
发帖数: 32122
70
你这是典型的拉不出屎来赖马桶。
要想始终得到list,有很多方法。比如用lapply
> m <- matrix(c(rep(1, 10), rep(2, 10)), ncol = 4)
+ v <- split(m, row(m))
+ lapply(v, table)
$`1`
1 2
2 2
$`2`
1 2
2 2
$`3`
1 2
2 2
$`4`
1 2
2 2
$`5`
1 2
2 2
> m <- matrix(c(rep(2, 16), rep(3, 4)), ncol = 4)
+ v <- split(m, row(m))
+ lapply(v, table)
$`1`
2
4
$`2`
2 3
3 1
$`3`
2 3
3 1
$`4`
2 3
3 1
$`5`
2 3
3 1
> m <- matrix(c(rep(2, 16), rep(2, 4)), ncol = 4)
+ v <- split(m, row(m))
+ lapply(v, table)
$`1`
2
4
$`2`
2
4
$`3`
2
4
$`4`
2
4
$`5`
2
4
>

【在 b****b 的大作中提到】
: 人家那么写,显然只是为了一句话突出问题。真正的程序应该是
: apply(A, 1, table)
: 你仔细看看,table单独用的时候好好的
: > table(c(2, 2, 2, 2))
: 2
: 4
: > table(c(2, 2, 2, 1))
: 1 2
: 1 3
: > table(c(2, 3, 2, 1))

相关主题
现在Window下写GUI的话用什么库?python太慢了
Python大牛说说那本书比较经典呢?别人说做Python的并行还不如去学C++,我不同意。
单开主题:为何痛恨python易写性,易维护和执行效率综合来看
进入Programming版参与讨论
d******a
发帖数: 32122
71
我刚才已经说的很清楚了,阅读apply和table两个函数的帮助文件后,即便不用实际运
行,也能知道你那么组合得不到你想要的结果。所以从你的例子看,那两个函数没有问
题,任何函数都有一个边界,你非要越过那个边界。
如果没有其他办法来实现你要得到的,那你可以赖R。实际并非如此,稍微变化一下,
就能总是得到list。
还是那句话,程序员还是应该有点稍微的智商,不是阿猫阿狗都能当程序员的。

【在 b****b 的大作中提到】
: 真服了你了,有问题就是用户问题,或者不是语言核心。这个例子有问题的明显是
: apply,不是table,table在各种情况下都运行正确,返回同样的类型,是apply莫名其
: 妙把table的返回信息重组甚至丢掉了,要重写也只能重写apply,而不是table。至于
: 你的人身攻击,如果说水平高就是深入了解R的各个坑或者有足够的耐心填坑,我就直
: 接呵呵了。

m*****n
发帖数: 3575
72
再说一遍,用了'照样不解决问题
> '>'(5,2)
[1] TRUE
> f = '>'
> f(5,2)
Error in f(5, 2) : 没有"f"这个函数
看懂了没有?

【在 d******c 的大作中提到】
: 前面不是告诉你了, 必须用` 而不是", ">"在哪个语言里都是字符串
: ">"()能用和R parse表达式的方式有关,不代表>是">"
: 我还以为讲的足够清楚了,你还在宣称胜利,号称启发别人。

m*****n
发帖数: 3575
73
不懂再给你来一个执行正常的例子
> sqrt(5)
[1] 2.236068
> g = sqrt
> g(5)
[1] 2.236068

【在 d******c 的大作中提到】
: 前面不是告诉你了, 必须用` 而不是", ">"在哪个语言里都是字符串
: ">"()能用和R parse表达式的方式有关,不代表>是">"
: 我还以为讲的足够清楚了,你还在宣称胜利,号称启发别人。

m*****n
发帖数: 3575
74
智商帝,你说说'>'当函数名来用的这个坑怎么填吧?

【在 d******a 的大作中提到】
: 我刚才已经说的很清楚了,阅读apply和table两个函数的帮助文件后,即便不用实际运
: 行,也能知道你那么组合得不到你想要的结果。所以从你的例子看,那两个函数没有问
: 题,任何函数都有一个边界,你非要越过那个边界。
: 如果没有其他办法来实现你要得到的,那你可以赖R。实际并非如此,稍微变化一下,
: 就能总是得到list。
: 还是那句话,程序员还是应该有点稍微的智商,不是阿猫阿狗都能当程序员的。

d******c
发帖数: 2407
75
前面已经有人告诉过你一遍了,要用tab上面那个符号,不是单引号。我告诉你双引号
是定义字符串的,你换成单引号不还是字符串吗?
> f <- `>`
> f(5,2)
[1] TRUE
我实在是不知道你看懂了没有。

【在 m*****n 的大作中提到】
: 再说一遍,用了'照样不解决问题
: > '>'(5,2)
: [1] TRUE
: > f = '>'
: > f(5,2)
: Error in f(5, 2) : 没有"f"这个函数
: 看懂了没有?

s**d
发帖数: 258
76
连字符都分不清楚,还当程序员

【在 d******c 的大作中提到】
: 前面已经有人告诉过你一遍了,要用tab上面那个符号,不是单引号。我告诉你双引号
: 是定义字符串的,你换成单引号不还是字符串吗?
: > f <- `>`
: > f(5,2)
: [1] TRUE
: 我实在是不知道你看懂了没有。

m*****n
发帖数: 3575
77
厉害!

【在 d******c 的大作中提到】
: 前面已经有人告诉过你一遍了,要用tab上面那个符号,不是单引号。我告诉你双引号
: 是定义字符串的,你换成单引号不还是字符串吗?
: > f <- `>`
: > f(5,2)
: [1] TRUE
: 我实在是不知道你看懂了没有。

m*****n
发帖数: 3575
78
但是如果按照你的说法
> ">"(3,2)
[1] TRUE
> '>'(3,2)
[1] TRUE
这两个就不应该能运行
这就是R不规范的地方
一种定义方法在某些情境下可行,在某些情景下不可行,这就是坑,你承不承认?

【在 d******c 的大作中提到】
: 前面已经有人告诉过你一遍了,要用tab上面那个符号,不是单引号。我告诉你双引号
: 是定义字符串的,你换成单引号不还是字符串吗?
: > f <- `>`
: > f(5,2)
: [1] TRUE
: 我实在是不知道你看懂了没有。

d******c
发帖数: 2407
79
谁会有这种用法?你能找到这么用的理由吗?
具体这么用会有这个结果是R具体实现的选择,我不清楚具体原因,但是R里是经常可以
把程序当数据,在代码中操作和调整表达式的,这是lisp传统。
所谓不规范只是你自己定义的而已,找个犄角旮旯的情景要求规范,实际上没有哪个语
言有多规范,每个语言都有坑,无非你习惯一些不当是坑,或者你不知道而已。你对“
规范语言”的梦想更多是出于不了解的崇拜。

【在 m*****n 的大作中提到】
: 但是如果按照你的说法
: > ">"(3,2)
: [1] TRUE
: > '>'(3,2)
: [1] TRUE
: 这两个就不应该能运行
: 这就是R不规范的地方
: 一种定义方法在某些情境下可行,在某些情景下不可行,这就是坑,你承不承认?

m******r
发帖数: 1033
80
这么简单的事情看你们扯了这么多,直接说这是backtick或者grave_accent不就行了 ?
https://en.wikipedia.org/wiki/Grave_accent
相关主题
从心底讨厌scala[合集] 如何同时sort 2个vector ?
go很牛啊。这个10ms 非常快了。用数组做参数,在函数内部如何知道数组的size?
python下怎么解决GIL?怎样在Python里调用Visual C++的函数?
进入Programming版参与讨论
m*****n
发帖数: 3575
81
他不会这么说。



【在 m******r 的大作中提到】
: 这么简单的事情看你们扯了这么多,直接说这是backtick或者grave_accent不就行了 ?
: https://en.wikipedia.org/wiki/Grave_accent

d******c
发帖数: 2407
82
前面两个人三次告诉你怎么回事,你继续宣称自己正确,承认错误之后,现在又找到一
点理由了?
是不是心里感觉好受一点?

【在 m*****n 的大作中提到】
: 他不会这么说。
:
: ?

m*****n
发帖数: 3575
83
我并不承认这是自己的错误,因为我在一本教材上就看到了用""来搞。而且试验了也是
管用的,只是在函数名替换时出错。R的不规范性已经误导了编写教材的人,还不严重?
R类似的不规范还有很多,例如[dataframe]$[name]这个$符号就不是通用的,如果变量
名以数字开头,就会直接报错。R这种在某些情境下管用,但是在另一些情景但是同样
的意义就不管用的语法就叫不规范。(通用的是['']方法)
这就像英语的动词过去式,不能普遍加"ed"来表示,而有各种特例。R就是像英语一样
的,经验性的,充满各种特例的语言。这种语言你问任何一个学外语的专家,都会说是
不规范的,如英语就是最不规范的西方语言。
本贴的议题是Python是不是不规范,子议题是R有没有比Python更规范,而我们说的这
些例子已经充分证明了R的不规范。至于你给出了解决方案,十分感谢。但这不构成对R
规范的证明,谢谢。

【在 d******c 的大作中提到】
: 前面两个人三次告诉你怎么回事,你继续宣称自己正确,承认错误之后,现在又找到一
: 点理由了?
: 是不是心里感觉好受一点?

d******a
发帖数: 32122
84
你的这篇帖子尤其是----下边的那句可以转joke了
你肯定不是理工科出身的
----------------------
R类似的不规范还有很多,例如[dataframe]$[name]这个$符号就不是通用的,如果变量
名以数字开头,就会直接报错

重?
对R

【在 m*****n 的大作中提到】
: 我并不承认这是自己的错误,因为我在一本教材上就看到了用""来搞。而且试验了也是
: 管用的,只是在函数名替换时出错。R的不规范性已经误导了编写教材的人,还不严重?
: R类似的不规范还有很多,例如[dataframe]$[name]这个$符号就不是通用的,如果变量
: 名以数字开头,就会直接报错。R这种在某些情境下管用,但是在另一些情景但是同样
: 的意义就不管用的语法就叫不规范。(通用的是['']方法)
: 这就像英语的动词过去式,不能普遍加"ed"来表示,而有各种特例。R就是像英语一样
: 的,经验性的,充满各种特例的语言。这种语言你问任何一个学外语的专家,都会说是
: 不规范的,如英语就是最不规范的西方语言。
: 本贴的议题是Python是不是不规范,子议题是R有没有比Python更规范,而我们说的这
: 些例子已经充分证明了R的不规范。至于你给出了解决方案,十分感谢。但这不构成对R

m*****n
发帖数: 3575
85
呵呵,有事说事,需要我再给你举个例子么?

【在 d******a 的大作中提到】
: 你的这篇帖子尤其是----下边的那句可以转joke了
: 你肯定不是理工科出身的
: ----------------------
: R类似的不规范还有很多,例如[dataframe]$[name]这个$符号就不是通用的,如果变量
: 名以数字开头,就会直接报错
:
: 重?
: 对R

d******a
发帖数: 32122
86
比如:你举几个变量名能够以数字开头的编程语言

【在 m*****n 的大作中提到】
: 呵呵,有事说事,需要我再给你举个例子么?
m*****n
发帖数: 3575
87
我说的是data.frame的col.name,当然,R直接改成name,这么说是为了顺应R的规则

【在 d******a 的大作中提到】
: 比如:你举几个变量名能够以数字开头的编程语言
d******c
发帖数: 2407
88
把教材贴出来看看,看看是什么权威教材。
你的第二个例子跟第一个错误一样,最基本的概念不清楚。
1.从csv转成data frame的时候,R会检查列名,转换成符合R规范的名字,可以有数字
开头,还会把"A B" 转成 A.B,但这不是必须的。
2.有空格,有数字等情况下直接写会和其他情况无法区分,所以必须用``括起来,跟上
一个例子是一样的。用rstudio的时候按tab人家都会给你自动括起来。
3.同理,如果要查一个符号的帮助,你必须用?`<-`而不可能用?<-
4.如果在列名里用变量,需要用[[]]格式而不是$,因为需要把变量evaluate而不是当
成literal
如果了解一点语言实现,就知道这些区别都是必须的。你要不造成歧义就必须想办法区
分,只不过人家选择的区分方式和你想象的不一样而已,而你想象的“规范”方式很多
时候根本不存在或者是错误的,比如非要用字符串当函数名直接用,任何一种语言也不
可能有这种用法。
不过反正你是不会承认自己错的,我也是白费功夫。
修正一下,数字开头或者有空格也可以做变量名,但必须用``括起来使用

重?
对R

【在 m*****n 的大作中提到】
: 我并不承认这是自己的错误,因为我在一本教材上就看到了用""来搞。而且试验了也是
: 管用的,只是在函数名替换时出错。R的不规范性已经误导了编写教材的人,还不严重?
: R类似的不规范还有很多,例如[dataframe]$[name]这个$符号就不是通用的,如果变量
: 名以数字开头,就会直接报错。R这种在某些情境下管用,但是在另一些情景但是同样
: 的意义就不管用的语法就叫不规范。(通用的是['']方法)
: 这就像英语的动词过去式,不能普遍加"ed"来表示,而有各种特例。R就是像英语一样
: 的,经验性的,充满各种特例的语言。这种语言你问任何一个学外语的专家,都会说是
: 不规范的,如英语就是最不规范的西方语言。
: 本贴的议题是Python是不是不规范,子议题是R有没有比Python更规范,而我们说的这
: 些例子已经充分证明了R的不规范。至于你给出了解决方案,十分感谢。但这不构成对R

m*****n
发帖数: 3575
89
An Introduction to R
W.N.Venables D.M.Smith
and the R core team
2017-03-06
10.2 Defining New Binary Operaters
it could have been used as a binary operator in expressions rather than in
function form. Suppose,
for example, we choose ! for the internal character. The function definition
would then start as
> "%!%" <- function(X, y) { ... }
(Note the use of quote marks.)
你现在告诉我"%!%"是不是一个字符串?

的。

【在 d******c 的大作中提到】
: 把教材贴出来看看,看看是什么权威教材。
: 你的第二个例子跟第一个错误一样,最基本的概念不清楚。
: 1.从csv转成data frame的时候,R会检查列名,转换成符合R规范的名字,可以有数字
: 开头,还会把"A B" 转成 A.B,但这不是必须的。
: 2.有空格,有数字等情况下直接写会和其他情况无法区分,所以必须用``括起来,跟上
: 一个例子是一样的。用rstudio的时候按tab人家都会给你自动括起来。
: 3.同理,如果要查一个符号的帮助,你必须用?`<-`而不可能用?<-
: 4.如果在列名里用变量,需要用[[]]格式而不是$,因为需要把变量evaluate而不是当
: 成literal
: 如果了解一点语言实现,就知道这些区别都是必须的。你要不造成歧义就必须想办法区

m*****n
发帖数: 3575
90
别扯别的编程语言,R相比正规编程语言,功能多少年以来都是残缺的
R脚本连调用同一个目录下的其它R脚本都做不到——
Python脚本我能做到一个目录下一个主脚本,运行起来调用该目录里的其它脚本,然后
随意拷贝挪位置都正常运行,R做得到?

【在 d******a 的大作中提到】
: 比如:你举几个变量名能够以数字开头的编程语言
相关主题
老年工程师转行学C++的更新的问题刚开始看python
R似乎根本就没有认真考虑过global variable的改写问题Remove elements from multiple vectors in C++
python下的expectPython vs J2EE
进入Programming版参与讨论
a*o
发帖数: 19981
91
哥这些年各种语言主动被动用了一圈之后发现基本上还是要省心上Java要高效上C/C++
,Perl Python啥的都是坑爹货,尤其坑爹的是这两货都跟赌场庄家一样一开始让你尝
很多甜头,等你忽然发现下体发凉的时候才意识到裤衩已经被丫的赢走了。

【在 s*****V 的大作中提到】
: Python总的来说是一种非常成功的语言,继承了C++和JAVA的主体语法但是更简洁, 他
: 在它主业方面都干得很好,现在大家指责的实际上是它原来没打算干的事情,等于骂百
: 米冠军不能跑长跑。Python最大的问题其实还是没有静态类型。所以想规范的地方规范
: 不起来,想快的地方快不起来。Python 现在在改,但是包袱太重,估计很难改好了。
: 下一代牛逼语言应该继承PYTHON 类似的语法,但是天生支撑静态类型和多线程,本来
: GO是有希望的,可是GO 的语法太坑爹,为啥要类型后置?

d******a
发帖数: 32122
92
列名跟变量名有什么本质区别?
任何正规编程语言都不许允许变量名里边数字开头
同理,数据库产品也有类似限制。个别允许数字开头的会在数字前加符号
在列名里以数字开头属于行为艺术

【在 m*****n 的大作中提到】
: 我说的是data.frame的col.name,当然,R直接改成name,这么说是为了顺应R的规则
m*****n
发帖数: 3575
93
python在哪里坑?
网络?线程?

【在 a*o 的大作中提到】
: 哥这些年各种语言主动被动用了一圈之后发现基本上还是要省心上Java要高效上C/C++
: ,Perl Python啥的都是坑爹货,尤其坑爹的是这两货都跟赌场庄家一样一开始让你尝
: 很多甜头,等你忽然发现下体发凉的时候才意识到裤衩已经被丫的赢走了。

a*o
发帖数: 19981
94
楼主吐的槽不少都是很实际的问题啊。

【在 m*****n 的大作中提到】
: python在哪里坑?
: 网络?线程?

m*****n
发帖数: 3575
95
那些问题比起R的问题都不是事儿
开源就这德行,哪有既省钱又省心的好事?
Python当然得在开源的里头比
比起R多年来对中文字符支持的烂的一塌糊涂
Python3强迫用Unicode首选用UTF-8已经相当相当的友善了

【在 a*o 的大作中提到】
: 楼主吐的槽不少都是很实际的问题啊。
N***e
发帖数: 61
96
我终于理解“Python最接近自然语言”这句话了,学起来就是和学外语一样,为了方便
,好多习惯用法,背过就好,没有道理。
举个栗子:
变量类型用一堆括号表示。
dictionary和set都用{}。但是d={},表示dictionary。
{2*x for x in range(10)} 这个玩应儿是个set,换成[],就是个list。内心惊呼
Python真的是好强大,好方便。不过等等,那为啥(2*x for x in range(10)) 是个
generator,而不是tuple?内心传来声音:可能是因为tuple是immutable的,所以不能
这么初始化,算鸟,背过吧。
d******c
发帖数: 2407
97
> "%test%" <- function(x) x
> %test%
Error: unexpected SPECIAL in "%test%"
> "%test%"
[1] "%test%"
> `%test%`
function(x) x
你要是直接用%test%,不需要引号,一般用法都是如此。教材里没有写,因为没想到有
人会在调用函数的时候还带个引号,完全多余而且有歧义。
非要用引号的时候,"%test%"仍然是一个字符串,只有`%test%`才是函数本身。
我同意教材应该写的更清楚一点,不过可能绝大部分人没这么干过。

definition

【在 m*****n 的大作中提到】
: An Introduction to R
: W.N.Venables D.M.Smith
: and the R core team
: 2017-03-06
: 10.2 Defining New Binary Operaters
: it could have been used as a binary operator in expressions rather than in
: function form. Suppose,
: for example, we choose ! for the internal character. The function definition
: would then start as
: > "%!%" <- function(X, y) { ... }

d******c
发帖数: 2407
98
?source

【在 m*****n 的大作中提到】
: 别扯别的编程语言,R相比正规编程语言,功能多少年以来都是残缺的
: R脚本连调用同一个目录下的其它R脚本都做不到——
: Python脚本我能做到一个目录下一个主脚本,运行起来调用该目录里的其它脚本,然后
: 随意拷贝挪位置都正常运行,R做得到?

w****i
发帖数: 964
99
Used both python and R for years. Although python sucks at something like
GIL, it's much more comfortable to program than R. R is a pain in the ass to
code.
m*****n
发帖数: 3575
100
local=TRUE根本不管用

【在 d******c 的大作中提到】
: ?source
相关主题
讨论程序语言没什么意思,functional programming还是不错的Python大牛说说那本书比较经典呢?
How to use multi-core to speed Python program单开主题:为何痛恨python
现在Window下写GUI的话用什么库?python太慢了
进入Programming版参与讨论
d******c
发帖数: 2407
101
这么基本常用的函数,有非常明显bug是不可能的。
要么是你用法不对,要么是你期待的效果不对
你可以吐槽它的设计和你想象的不一样,但是说它不管用,我是深表怀疑。

【在 m*****n 的大作中提到】
: local=TRUE根本不管用
m*****n
发帖数: 3575
102
就是
source("xxx.R", local=TRUE) ?
xxx.R是这个source命令本身所在的位置?
对了,我用了连环source
我先用了个source跳转到另一个目录的某个脚本
然后这个脚本source相同目录下的另一个脚本

【在 d******c 的大作中提到】
: 这么基本常用的函数,有非常明显bug是不可能的。
: 要么是你用法不对,要么是你期待的效果不对
: 你可以吐槽它的设计和你想象的不一样,但是说它不管用,我是深表怀疑。

n******t
发帖数: 4406
103
python是給沒學過編程的人入門用的。
你都會perl了去搞什麼python。

【在 N*****r 的大作中提到】
: 简单的说, 就是一坨屎
: 甚至不如Perl
: 最近在做一个小的股票分析系统, 图方便,上了python, 原来也用过,只用来写数值
: 程序,用的库少,没啥感觉
: 折腾了一段发现的缺点
: 1. python 2 和 3, 一个语言,版本搞的如此奇葩,真的罕见, 当然现在新语言都有
: 这奇葩趋势, 包括苹果的 swift,带来的问题最大的就是库,准备搭程序架子了,发现
: A库 2 不用能, B库 3 不能用
: 2. 语法, 格式, 其实这个跟第一个缺点是相关的, 之所以重起炉灶搞3, 就是因为
: 在2里某些语法从根本上设计错了, 但3其实问题还是一大堆, 奇葩语法, 至于强制

x****u
发帖数: 44466
104
python的哲学是好程序必须好读
如果程序不好读,那就限制了review和优化的力度,质量必然腐烂掉

【在 n******t 的大作中提到】
: python是給沒學過編程的人入門用的。
: 你都會perl了去搞什麼python。

N***e
发帖数: 61
105
程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。
Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码
,如果不是可以直接调用package的fucntion,真的是不好懂。
另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接
受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既
然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?
x****u
发帖数: 44466
106
python语法可不简单,简单语法是javascript这种可以当大作业的东西

【在 N***e 的大作中提到】
: 程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。
: Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码
: ,如果不是可以直接调用package的fucntion,真的是不好懂。
: 另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接
: 受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既
: 然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?

m*****n
发帖数: 3575
107
但是人家照样能用啊
所以要办公司的小老板,就喜欢这种
简单,能用
使用效率还不算太烂
初期一两年够用了
以后雇多了人再细搞再换
而数据科学家那种更是
搞个两三年换了七八个模型都没定型
编程费那么大劲干嘛?
比python编程成本更低,而且能达到同样质量的
有谁?

【在 N***e 的大作中提到】
: 程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。
: Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码
: ,如果不是可以直接调用package的fucntion,真的是不好懂。
: 另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接
: 受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既
: 然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?

N***e
发帖数: 61
108
你说的完全对啊。
Python牛的地方:开发成本低。
比它低的好像真没有。
速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有model
,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。
效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,
会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效
率可以做到很烂。最后使用成本低不低,那是另一回事。

【在 m*****n 的大作中提到】
: 但是人家照样能用啊
: 所以要办公司的小老板,就喜欢这种
: 简单,能用
: 使用效率还不算太烂
: 初期一两年够用了
: 以后雇多了人再细搞再换
: 而数据科学家那种更是
: 搞个两三年换了七八个模型都没定型
: 编程费那么大劲干嘛?
: 比python编程成本更低,而且能达到同样质量的

x****u
发帖数: 44466
109
python写线性代数操作必须比C++快啊,numpy和tensorflow是工业级的,C++的STL或者
boost是什么玩意

model

【在 N***e 的大作中提到】
: 你说的完全对啊。
: Python牛的地方:开发成本低。
: 比它低的好像真没有。
: 速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有model
: ,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。
: 效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,
: 会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效
: 率可以做到很烂。最后使用成本低不低,那是另一回事。

m*****n
发帖数: 3575
110
R也一样
但是R的代码太烂了,一致性都做不到,开发起来全是地雷
所以最近两年相当多一部分R用户转Python了
Python的原始代码是非常慢
所以后来写数据的把Python底层重新写了一遍,加上自己的包
改叫Anaconda
所以严格意义上讲,数据科学家用的实际不是Python

model

【在 N***e 的大作中提到】
: 你说的完全对啊。
: Python牛的地方:开发成本低。
: 比它低的好像真没有。
: 速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有model
: ,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。
: 效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,
: 会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效
: 率可以做到很烂。最后使用成本低不低,那是另一回事。

相关主题
别人说做Python的并行还不如去学C++,我不同意。go很牛啊。这个10ms 非常快了。
易写性,易维护和执行效率综合来看python下怎么解决GIL?
从心底讨厌scala[合集] 如何同时sort 2个vector ?
进入Programming版参与讨论
f*z
发帖数: 421
111
Python 是不是主要用C实现的?

【在 x****u 的大作中提到】
: python写线性代数操作必须比C++快啊,numpy和tensorflow是工业级的,C++的STL或者
: boost是什么玩意
:
: model

x****u
发帖数: 44466
112
numpy后端是fortran的吧,gpu是硬件
CPython经常被人骂效率低

或者

【在 f*z 的大作中提到】
: Python 是不是主要用C实现的?
a***6
发帖数: 44
113
'A' is not in ['A'] 不行是因为你写错了
试试 'A' not in ['A']

【在 N***e 的大作中提到】
: 程序好读不好读一是取决于语言本身的语法设计,另一个是取决于程序员的水平。
: Python试图用简单的语法掩盖复杂的编程机理,吸引了大批粗浅用户。这些人写的代码
: ,如果不是可以直接调用package的fucntion,真的是不好懂。
: 另外,Python追求像自然语言一样流畅(我记得当年Perl也是这么想的)。那么就要接
: 受自然语言的缺点:有歧义,一意多表,最终导致没有逻辑的习惯用法和特定用法。既
: 然要接近自然语言,那么'A' is not 'A'可以,为什么 'A' is not in ['A']不行?

n****t
发帖数: 53
114
作为长期使用各种语言的程序员,Python的资深用户,我觉得这些批评没有说到点子上
。Python的语法是各种语法中最清晰的,空格缩进非常好。效率而言基本看你怎么用
Python,因为真正算题的部分很少是用Python写的。Python唯一缺点就是静态语法检查
不够。类似以下简单的拼写错误我在一个算是广泛使用的package中发现了好几个
def func(a):
if a < 0:
raise ValueError(f'{aa} should be positive')
这种问题pyflakes 能查出来一些,但做大型程序时,如果没有比较好的code review,
如果没有非常完全的 unit test,很难完全排除。Guido近期在pyAnnotate上很活跃,
估计是想解决这个问题。我的希望是pyAnnotate尽快达到TypeScript对JavaScript的
annotation水平,那样写起程序来就放心多了。

model

【在 N***e 的大作中提到】
: 你说的完全对啊。
: Python牛的地方:开发成本低。
: 比它低的好像真没有。
: 速度快不快取决于项目是否适合Python。数据科学,大部分情况基本是训练已有model
: ,不会开发好几个module的项目,大部分人也是脚本型编程。这个Python特别适合。
: 效率烂不烂?Python的语言特性是专注功能和“可读性”。去考虑算法,是自找麻烦,
: 会遭到鄙视,而且不够pythonic。所以很多写Python的也不会考虑效率问题,以至于效
: 率可以做到很烂。最后使用成本低不低,那是另一回事。

m*****n
发帖数: 3575
115
python的替代品有哪些?
Go吗?

【在 n****t 的大作中提到】
: 作为长期使用各种语言的程序员,Python的资深用户,我觉得这些批评没有说到点子上
: 。Python的语法是各种语法中最清晰的,空格缩进非常好。效率而言基本看你怎么用
: Python,因为真正算题的部分很少是用Python写的。Python唯一缺点就是静态语法检查
: 不够。类似以下简单的拼写错误我在一个算是广泛使用的package中发现了好几个
: def func(a):
: if a < 0:
: raise ValueError(f'{aa} should be positive')
: 这种问题pyflakes 能查出来一些,但做大型程序时,如果没有比较好的code review,
: 如果没有非常完全的 unit test,很难完全排除。Guido近期在pyAnnotate上很活跃,
: 估计是想解决这个问题。我的希望是pyAnnotate尽快达到TypeScript对JavaScript的

N***e
发帖数: 61
116
我是写错了。
我的意思是既然Python要接近自然语言,而且为了接近自然语言可以使用is not 作为
运算符去考察'A' is not 'A',为什么不再继续迎合自然语言,进而使用is not in作
为运算符'A' is not in ['A']?

【在 a***6 的大作中提到】
: 'A' is not in ['A'] 不行是因为你写错了
: 试试 'A' not in ['A']

m*****n
发帖数: 3575
117
虽然接近自然语言,可是还是得有语法的呗
你觉得加了个is好像是挺爽的
不知道英文还有 are, was, were, be 吗?
python不可能照顾到这些自然语言的多态
差不多就得了

【在 N***e 的大作中提到】
: 我是写错了。
: 我的意思是既然Python要接近自然语言,而且为了接近自然语言可以使用is not 作为
: 运算符去考察'A' is not 'A',为什么不再继续迎合自然语言,进而使用is not in作
: 为运算符'A' is not in ['A']?

N***e
发帖数: 61
118
我Python但肯定不如你资深,我不会仔细去看别人Package的代码,除非影响到我自己
的程序。
首先我没批评Python的空格缩进,我也不觉得它和打括号有什么本质区别。
我是对Python语法是有意见,我个人觉得Python本身精神分裂,在“强调自然语言一般
的可读性去迎合大众用户”与“做严禁的专业编程语言”之间来回穿插。另外在强大的
Python流行趋势下,很多不适合Python干的事情都是用Python。你自己也说“做题目的
部分很少用Python写“,但是现在很多公司要求只能用Python。
这与我说用Python写的程序效率不高是有关系的:
我说:用Python写的project效率会很低,不是批评Python运行速度慢。我的意思是说
Python通过自己“简单易学”的理念吸引了大批粗糙用户,他们非常热衷于Pythonic简
短形式的编程,比如用复杂的comprehension(其实可读性一点也不高)。还有用
Python写O(N)算法,不一定比用Python内建的O(N^2)函数快。在这种理念和实际情况的
的引导下很多Python程序员写的程序不注重效率和算法。这种情况写小程序没有什么关
系。但是project一复杂,会极大的影响整个project效率。你自己也举例说明Python
Package里埋的雷。其实Python语法本身非常灵活,极易埋雷。比如我举得例子,'A'
is not 'A'可以,'A' is not in '[A']就不行。你可能觉得真正的程序员的不会写后
者,但是Python开了'A' is not 'A'的先河,就会有人习惯性无意识地写后者,因为符
合自然语言习惯。
还有Python作为快捷的隐式动态类型语言要加入静态类型检查,是不是精神分裂?
Python精神分裂和粗糙Python程序员(包括很多公司老板)对Python通用化是我要喷的。
我本人喜欢Java,但是Scala喷Java我也觉得喷的在理。两个语言各干的不是挺好。

【在 n****t 的大作中提到】
: 作为长期使用各种语言的程序员,Python的资深用户,我觉得这些批评没有说到点子上
: 。Python的语法是各种语法中最清晰的,空格缩进非常好。效率而言基本看你怎么用
: Python,因为真正算题的部分很少是用Python写的。Python唯一缺点就是静态语法检查
: 不够。类似以下简单的拼写错误我在一个算是广泛使用的package中发现了好几个
: def func(a):
: if a < 0:
: raise ValueError(f'{aa} should be positive')
: 这种问题pyflakes 能查出来一些,但做大型程序时,如果没有比较好的code review,
: 如果没有非常完全的 unit test,很难完全排除。Guido近期在pyAnnotate上很活跃,
: 估计是想解决这个问题。我的希望是pyAnnotate尽快达到TypeScript对JavaScript的

N***e
发帖数: 61
119
我真是酒喝多了头痛睡不着。
are,was,were,be应该是用不到的吧。
写的程序都是现在时态。而且写复数对解译要求太高容易歧义吧。
总不能if a and b and c are True:
也许10年后的Python能做到这个,又不会引起歧义。

【在 m*****n 的大作中提到】
: 虽然接近自然语言,可是还是得有语法的呗
: 你觉得加了个is好像是挺爽的
: 不知道英文还有 are, was, were, be 吗?
: python不可能照顾到这些自然语言的多态
: 差不多就得了

m*****n
发帖数: 3575
120
'A' is not 'A'可以
这的确是个很烂的坏头
Python就是这样,尽量简单,又要尽量功能强大
然而这两个概念本身是矛盾的
这不创始人因为要加个语句中间赋值的功能,就被核心码工打小报告到twitter了?
凑合用吧
没有完美的语言
相关主题
用数组做参数,在函数内部如何知道数组的size?R似乎根本就没有认真考虑过global variable的改写问题
怎样在Python里调用Visual C++的函数?python下的expect
老年工程师转行学C++的更新的问题刚开始看python
进入Programming版参与讨论
d******c
发帖数: 2407
121

这是哪里流传出来的urban legend, anaconda就是帮你装包,解决依赖问题和安装难
的问题而已。重新写底层,怎么可能。
真正能提高性能的是pypy,也不是靠重新写底层,是抛弃cpython

【在 m*****n 的大作中提到】
: R也一样
: 但是R的代码太烂了,一致性都做不到,开发起来全是地雷
: 所以最近两年相当多一部分R用户转Python了
: Python的原始代码是非常慢
: 所以后来写数据的把Python底层重新写了一遍,加上自己的包
: 改叫Anaconda
: 所以严格意义上讲,数据科学家用的实际不是Python
:
: model

z****1
发帖数: 3840
122
""
The operators <, >, ==, >=, <=, and != compare the values of two objects.
The operators is and is not test for object identity: x is y is true if and
only if x and y are the same object. x is not y yields the inverse truth
value.

【在 N***e 的大作中提到】
: 我Python但肯定不如你资深,我不会仔细去看别人Package的代码,除非影响到我自己
: 的程序。
: 首先我没批评Python的空格缩进,我也不觉得它和打括号有什么本质区别。
: 我是对Python语法是有意见,我个人觉得Python本身精神分裂,在“强调自然语言一般
: 的可读性去迎合大众用户”与“做严禁的专业编程语言”之间来回穿插。另外在强大的
: Python流行趋势下,很多不适合Python干的事情都是用Python。你自己也说“做题目的
: 部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这与我说用Python写的程序效率不高是有关系的:
: 我说:用Python写的project效率会很低,不是批评Python运行速度慢。我的意思是说
: Python通过自己“简单易学”的理念吸引了大批粗糙用户,他们非常热衷于Pythonic简

n****t
发帖数: 53
123
> 另外在强大的Python流行趋势下,很多不适合Python干的事情都是用Python。你自己
也说“做题目的部分很少用Python写“,但是现在很多公司要求只能用Python。
这个有一定的道理,Python不是干什么都好,我喜欢Python,但到手什么Project还是
要看看用什么语言和工具最合适。特别是在数据分析的时候,我倾向于用自己开发的
SoS,在各个阶段用最合适的工具,别用了Python还纠结rpy,用了R还折腾reticulate
,用了Matlab还折腾Python engine。
但在写大点的项目的时候,我的一般做法是用Python搭架子。然后python的各种包也很
多,数值计算部分基本用C写的,python仅仅是个glue而已,效率上没有问题。如果真
有什么部分需要效率而且没有合适的包,那就自己写,用SWIG或其它工具包起来在
python中调用就可以了。所以我说批评Python效率低没啥意义,因为需要效率的地方可
以用别的语言写。如果你用别的语言写所有的界面,接口,逻辑啥的,整体开发效率很
难和python这种模式比。
> 在这种理念和实际情况的的引导下很多Python程序员写的程序不注重效率和算法。这
种情况写小程序没有什么关
系。但是project一复杂,会极大的影响整个project效率。
这个就看项目管理水平了。不过在程序需求经常变化,预先不知道瓶颈的时候,每个部
分都用高效的写法写会很累很浪费。我的一般做法是先把程序框架搭好,用Python写出
来,然后有需要再替换掉效率较差的部分。

【在 N***e 的大作中提到】
: 我Python但肯定不如你资深,我不会仔细去看别人Package的代码,除非影响到我自己
: 的程序。
: 首先我没批评Python的空格缩进,我也不觉得它和打括号有什么本质区别。
: 我是对Python语法是有意见,我个人觉得Python本身精神分裂,在“强调自然语言一般
: 的可读性去迎合大众用户”与“做严禁的专业编程语言”之间来回穿插。另外在强大的
: Python流行趋势下,很多不适合Python干的事情都是用Python。你自己也说“做题目的
: 部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这与我说用Python写的程序效率不高是有关系的:
: 我说:用Python写的project效率会很低,不是批评Python运行速度慢。我的意思是说
: Python通过自己“简单易学”的理念吸引了大批粗糙用户,他们非常热衷于Pythonic简

m*****n
发帖数: 3575
124
当然重新写底层了,连数据格式都重新定义了
要不你怎么不能像别的那样直接pip装包,非得重新装一个?
要不怎么会有vector这种数据结构?

【在 d******c 的大作中提到】
:
: 这是哪里流传出来的urban legend, anaconda就是帮你装包,解决依赖问题和安装难
: 的问题而已。重新写底层,怎么可能。
: 真正能提高性能的是pypy,也不是靠重新写底层,是抛弃cpython

m*****n
发帖数: 3575
125
C写的东西能和Python代码合在一起打包么?

reticulate

【在 n****t 的大作中提到】
: > 另外在强大的Python流行趋势下,很多不适合Python干的事情都是用Python。你自己
: 也说“做题目的部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这个有一定的道理,Python不是干什么都好,我喜欢Python,但到手什么Project还是
: 要看看用什么语言和工具最合适。特别是在数据分析的时候,我倾向于用自己开发的
: SoS,在各个阶段用最合适的工具,别用了Python还纠结rpy,用了R还折腾reticulate
: ,用了Matlab还折腾Python engine。
: 但在写大点的项目的时候,我的一般做法是用Python搭架子。然后python的各种包也很
: 多,数值计算部分基本用C写的,python仅仅是个glue而已,效率上没有问题。如果真
: 有什么部分需要效率而且没有合适的包,那就自己写,用SWIG或其它工具包起来在
: python中调用就可以了。所以我说批评Python效率低没啥意义,因为需要效率的地方可

n****t
发帖数: 53
126
可以,需要compiler,setup.py稍微麻烦一点。为了方便一般用conda提供各个系统下
的binary distribution.

【在 m*****n 的大作中提到】
: C写的东西能和Python代码合在一起打包么?
:
: reticulate

m*****n
发帖数: 3575
127
求详细介绍!
我做个PyQt的小程序,里面有一些C的h文件之类的,别人能给我封装成dll
我想做成可以安装的程序,实在不行一个整体的exe

【在 n****t 的大作中提到】
: 可以,需要compiler,setup.py稍微麻烦一点。为了方便一般用conda提供各个系统下
: 的binary distribution.

d******c
发帖数: 2407
128
它做的就是包管理,解决的就是pip的问题,当然不用pip。
anaconda就是个distribution,这也重写底层?
你的“底层”比较与众不同

【在 m*****n 的大作中提到】
: 当然重新写底层了,连数据格式都重新定义了
: 要不你怎么不能像别的那样直接pip装包,非得重新装一个?
: 要不怎么会有vector这种数据结构?

m*****n
发帖数: 3575
129
你一向抱着执拗当专业,不撞南墙不回头
懒得和你辩

【在 d******c 的大作中提到】
: 它做的就是包管理,解决的就是pip的问题,当然不用pip。
: anaconda就是个distribution,这也重写底层?
: 你的“底层”比较与众不同

m******r
发帖数: 1033
130
两位都是老师, 都说了些我能听懂的话。
最大的收获就是, 再也不折腾r了。
相关主题
Remove elements from multiple vectors in C++How to use multi-core to speed Python program
Python vs J2EE现在Window下写GUI的话用什么库?
讨论程序语言没什么意思,functional programming还是不错的Python大牛说说那本书比较经典呢?
进入Programming版参与讨论
y****i
发帖数: 12114
131
楼主说了“卧槽,现在还有不支持自动格式化的编辑器吗”

【在 s*****V 的大作中提到】
: Python 比Perl 强海里去了,至少有很高的可读性,什么缩进啥的习惯了根本不是个事
: 情,高质量的C++代码也要比较规范的缩进。

r*****z
发帖数: 906
132
我也第一次听说“anaconda重写了底层”。有什么证据吗?
x****u
发帖数: 44466
133
你显然弄错了,要不仔细去anaconda网站看看?

【在 m*****n 的大作中提到】
: 当然重新写底层了,连数据格式都重新定义了
: 要不你怎么不能像别的那样直接pip装包,非得重新装一个?
: 要不怎么会有vector这种数据结构?

m*****n
发帖数: 3575
134
你们哪位直接用原生python 的pip install把anaconda三大包 numpy scipy pandas都
装齐了
再来质疑anaconda是不是和python本质上相互独立的一个系统
m*****n
发帖数: 3575
135
基本上,凡是非原生包,都要老老实实写whl来对接原生python
anaconda创始人说过写whl都不够用,因为py的底层数值计算根本速度不够,所以单独
写了一个anaconda,在数值计算部分有重大改写
懒得找出处了,我又不用anaconda
x****u
发帖数: 44466
136
anaconda是把pip里面的稳定版本弄出来做个dist,pip经常升级太快,在不常用平台可
能扯到蛋
很多人在linux或者mac上自己装三大包,你要是在windows上搞得有一定win32基础常识

【在 m*****n 的大作中提到】
: 你们哪位直接用原生python 的pip install把anaconda三大包 numpy scipy pandas都
: 装齐了
: 再来质疑anaconda是不是和python本质上相互独立的一个系统

L****8
发帖数: 3938
137
你是不是老邢的机器人?

【在 m*****n 的大作中提到】
: 基本上,凡是非原生包,都要老老实实写whl来对接原生python
: anaconda创始人说过写whl都不够用,因为py的底层数值计算根本速度不够,所以单独
: 写了一个anaconda,在数值计算部分有重大改写
: 懒得找出处了,我又不用anaconda

n******7
发帖数: 12463
138
多年以来一直用pip在linux下面装这几个玩意啊
倒是近来用windows了,开始用conda

【在 m*****n 的大作中提到】
: 你们哪位直接用原生python 的pip install把anaconda三大包 numpy scipy pandas都
: 装齐了
: 再来质疑anaconda是不是和python本质上相互独立的一个系统

n******7
发帖数: 12463
139
用大括号的都可以完美自动缩进
倒是用tab/space的,鬼知道你是typo了,还是真的想要一个tab/space

【在 y****i 的大作中提到】
: 楼主说了“卧槽,现在还有不支持自动格式化的编辑器吗”
n******7
发帖数: 12463
140
我理解你这种应用需求,我也干过很多年类似的事情,虽然没有你资深,很少看
package源码。
但是我感觉这对以data处理分析为中心的需求是高效的,这类项目注重开发效率和运行
效率,但是对测试和维护的要求比较低。换作其他类型的项目,规模一上去,问题就多
了。我想这是NGale想说的

reticulate

【在 n****t 的大作中提到】
: > 另外在强大的Python流行趋势下,很多不适合Python干的事情都是用Python。你自己
: 也说“做题目的部分很少用Python写“,但是现在很多公司要求只能用Python。
: 这个有一定的道理,Python不是干什么都好,我喜欢Python,但到手什么Project还是
: 要看看用什么语言和工具最合适。特别是在数据分析的时候,我倾向于用自己开发的
: SoS,在各个阶段用最合适的工具,别用了Python还纠结rpy,用了R还折腾reticulate
: ,用了Matlab还折腾Python engine。
: 但在写大点的项目的时候,我的一般做法是用Python搭架子。然后python的各种包也很
: 多,数值计算部分基本用C写的,python仅仅是个glue而已,效率上没有问题。如果真
: 有什么部分需要效率而且没有合适的包,那就自己写,用SWIG或其它工具包起来在
: python中调用就可以了。所以我说批评Python效率低没啥意义,因为需要效率的地方可

相关主题
单开主题:为何痛恨python易写性,易维护和执行效率综合来看
python太慢了从心底讨厌scala
别人说做Python的并行还不如去学C++,我不同意。go很牛啊。这个10ms 非常快了。
进入Programming版参与讨论
y****i
发帖数: 12114
141
提到typo,那就没法继续讨论了。

【在 n******7 的大作中提到】
: 用大括号的都可以完美自动缩进
: 倒是用tab/space的,鬼知道你是typo了,还是真的想要一个tab/space

d******c
发帖数: 2407
142
你显然记错了。

【在 m*****n 的大作中提到】
: 基本上,凡是非原生包,都要老老实实写whl来对接原生python
: anaconda创始人说过写whl都不够用,因为py的底层数值计算根本速度不够,所以单独
: 写了一个anaconda,在数值计算部分有重大改写
: 懒得找出处了,我又不用anaconda

l******n
发帖数: 9344
143
conda基本就是专门给在windows下用的,linux上没看到多少人用

【在 n******7 的大作中提到】
: 多年以来一直用pip在linux下面装这几个玩意啊
: 倒是近来用windows了,开始用conda

x****u
发帖数: 44466
144
Linux也有很多人用
conda是个python子环境管理系统,如果是开发机没必要碰系统的python环境

【在 l******n 的大作中提到】
: conda基本就是专门给在windows下用的,linux上没看到多少人用
1 (共1页)
进入Programming版参与讨论
相关主题
python下的expect单开主题:为何痛恨python
刚开始看pythonpython太慢了
Remove elements from multiple vectors in C++别人说做Python的并行还不如去学C++,我不同意。
Python vs J2EE易写性,易维护和执行效率综合来看
讨论程序语言没什么意思,functional programming还是不错的从心底讨厌scala
How to use multi-core to speed Python programgo很牛啊。这个10ms 非常快了。
现在Window下写GUI的话用什么库?python下怎么解决GIL?
Python大牛说说那本书比较经典呢?[合集] 如何同时sort 2个vector ?
相关话题的讨论汇总
话题: python话题: 函数话题: table话题: rep话题: 语言