RT
装的 python 3,print '' 的时候被一片红吓到了...
不知道和 2 还有多少区别,未来一两年行业趋势又是什么?
暂无该方向就业意向,入门是否有必要从某一版本起步?
想听听从业人员的建议 ;)
PS:在 Python 节点发的,其他语言你们奏开。(对,说的就是你,PHP(ง ˙з˙)ว)
1
lizheming 2015-05-06 15:02:01 +08:00 1
话说不应该是“人生苦短,说 Go 就 Go”么(逃。。。
做成函数是有好处的,最明显的是你可以给其它参数啊...而且事实证明还是挺有用的... |
2
cfan8 2015-05-06 15:05:01 +08:00 3
大家都在要3不要2,可惜实际生产环境里跑的全还是2
|
3
vivianalive 2015-05-06 15:05:48 +08:00 1
学 2 的话,迟早要学 3,甚至 4;
学 3 的话,还是要学 2,不然谁来补 2 的坑; 总结:休想一种语言,甚至一种语言的一个版本吃到老。 |
4
Tiande OP @lizheming 用 linux 的加参数形式也是可以接受的嘛。
明明是一种语言,感觉好像分了相反派别,学艺之前还要站队,心塞。 |
5
neoblackcap 2015-05-06 15:09:34 +08:00 1
不管是2还是3,反正你用print()就肯定是通过的,不管你有没有from __future__ import print_function,
所以我强烈建议使用print() |
6
ivenvd 2015-05-06 15:09:51 +08:00 4
Lift is short,电梯很短?
|
7
Tiande OP |
9
Tiande OP @neoblackcap 又装了个2 ,print()还真是通用的!
这属于向上兼容吗? |
10
koykoi 2015-05-06 15:13:21 +08:00 1
又黑the zen of Python
|
11
clino 2015-05-06 15:14:17 +08:00
@vivianalive 我用了很多年2还没开始学3,怀疑退休前自己有木有学3的需求
|
15
Bluecoda 2015-05-06 15:29:00 +08:00 1
lz的原题为:
论电梯和python的关系 |
16
kongkongyzt 2015-05-06 15:36:35 +08:00 2
如果你不想把你的生命浪费在处理编码上,请火速使用3
|
17
neoblackcap 2015-05-06 15:38:23 +08:00 2
@dtdnqsb 这不是向上兼容,理论是要完美兼容你必须from __future__ import print_function.
但是为什么可以呢?原因是()是一个优先运算括号里面的内容,然后再print而已,相当于 ``` a = 'b' print a print('b') 两者是等价的 ``` |
18
Tiande OP @neoblackcap ( •̀ ω •́ )y 了解了
|
19
sneezry 2015-05-06 15:42:46 +08:00 via iPhone 1
Python2和Python3不是两种语言吗😃
|
20
yopming 2015-05-06 15:48:06 +08:00 3
『如果你不想把你的生命浪费在处理编码上,请火速使用3』+1
|
21
Septembers 2015-05-06 15:53:42 +08:00 via Android 1
@yopming 深有体会
|
22
zeroten 2015-05-06 15:56:34 +08:00 1
大量的生命已经浪费在编码上
|
25
lingo233 2015-05-06 15:59:11 +08:00 1
用2的话我一般会import __future__反正我自己搞的东西要不是限定我才懒得用
|
26
wind3110991 2015-05-06 16:03:43 +08:00 1
2.7欢迎你啊!
|
28
Tiande OP @wind3110991 那我能有女朋友了吗!
|
29
wind3110991 2015-05-06 16:08:39 +08:00 1
@dtdnqsb 不行 + 。+ 因为我已经有了
PS:话说国内大公司好多都在用python做运维。。。反正网易和腾讯是这么干的。。 |
30
zeroten 2015-05-06 16:09:14 +08:00 1
但是大量的公司用的2.x,不知道猴年马月会迁到3.x
要么很多第三方库放弃支持2,要么3有什么杀手级应用,要么2出现严重的官方不修复,也没第三方来修复的严重bug |
31
Tiande OP |
32
Tiande OP @wind3110991 你的女朋友也可以做我的女朋友啊。
|
34
Tiande OP @bingu ((( ;゚Д゚))) 紧插叔叔,就是这个人,把@wind3110991 的女盆友弄漏气了!
|
35
neutrino 2015-05-06 16:41:46 +08:00 1
难道不是用echo "2"; 吗。。
|
36
wind3110991 2015-05-06 16:43:55 +08:00 1
@dtdnqsb 胶水语言伤不起,不过做机器语言科学运算那些还是挺不错,还有快速开发网站后台之类
= = |
43
chengzhoukun 2015-05-06 17:15:35 +08:00 via Android 1
坚定3,兼顾2
|
44
Kilerd 2015-05-06 20:09:17 +08:00 1
Python 2.7
不过写多了c,php 在写if的时候,就自觉地写成了 if(XXX): print 时 就 自觉地写成了 print() |
45
fburst 2015-05-06 20:29:15 +08:00 1
仁者见仁智者见智。python最后会发展成怎么样谁都不知道。
|
46
laotaitai 2015-05-06 21:01:25 +08:00 1
既然没有从业意向, 那就相当于想用啥就用啥了. 根本不用管市场如何.
|
47
cvmax 2015-05-06 21:02:53 +08:00 1
为什么要黑世界最好的语言 ——PHP (逃
|
48
timothyye 2015-05-06 21:04:34 +08:00 via Android 1
骚年,来学Go吧
|
49
jianghu52 2015-05-06 22:18:00 +08:00 1
说下个人感受。我原来也是想着先学3.然后等着2慢慢死掉。
可是。我玩新浪的sae,就是2的。我查好多爬虫,都是引用的urllib2,最麻烦的是,我们的生产环境的centos的。里面就是2.x,你要升到3,一半儿以上的py脚本都不能用了。 所以慢慢的就开始转回2了。 |
50
tangooricha 2015-05-06 23:02:55 +08:00 1
@dtdnqsb 如果单从print语句的角度来说,我推荐用print()。理由很简单,就是这样写在2和3上面都可以运行。
|
51
Daniel65536 2015-05-06 23:47:13 +08:00 2
@jianghu52 爬虫用urllib2简直是浪费生命。
requests大法好。 |
52
kiritoalex 2015-05-07 00:04:08 +08:00 via Android 1
没有Qpython2.7简直不能愉快的玩耍
|
53
msg7086 2015-05-07 08:27:03 +08:00 1
默默围观你们的讨论,我用 Ruby。
|
54
abscon 2015-05-07 09:04:11 +08:00 1
蟒蛇你这个骗纸,说好的“做一件事情只有一种方法”呢
|
56
qToTp 2015-05-07 11:58:19 +08:00 1
Life is short, choose a version.
|
57
zztt168 2015-05-07 12:04:10 +08:00 via iPhone 1
@Daniel65536 感谢推荐,刚刚开始做爬虫,回去学习下。request有啥优势?
|
58
Daniel65536 2015-05-07 12:10:18 +08:00
@zztt168 requests是给人类用的,urllib2不是给人类用的。
import urllib2 gh_url = 'https://api.github.com' req = urllib2.Request(gh_url) password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm() password_manager.add_password(None, gh_url, 'user', 'pass') auth_manager = urllib2.HTTPBasicAuthHandler(password_manager) opener = urllib2.build_opener(auth_manager) urllib2.install_opener(opener) handler = urllib2.urlopen(req) print handler.getcode() print handler.headers.getheader('content-type') 对比 import requests r = requests.get('https://api.github.com', auth=('user', 'pass')) print r.status_code print r.headers['content-type'] |