简说Python发展及其就业前景

简说python

发展历史

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

python从ABC语言发展起来,受到Modula-3的影响,同时结合了Unix shell和C的习惯

如今python已成为最受欢迎的程序设计语言之一,根据TIOBE提供的编程语言指数走势图可以发现python近些年的占有率一直保持着增长势头。
TIOBE编程语言走势图

还是那句口号,人生苦短,我学python

语言特性

Python是完全面向对象的语言

Python的设计哲学是“优雅”、“明确”、“简单”。
尽量写容易看明白的代码,尽量写少的代码,具有限制性很强的语法,使得程序更加清晰和美观。

主要应用领域

  • Web和Internet开发
  • 桌面界面开发
  • 科学计算和统计
  • 人工智能
  • 软件开发
  • 后端开发

2.X与3.X的主要区别

大概来说,3是2的升级版本,就是新手上手程度而言,个人认为3明显比2更为好上手,且其中2中很多长期无人维护的库则在3中已经消失。官网也宣布Python 2.7将于2020年1月1日终止支持。两者的具体差别:

print函数
Python3中print为一个函数,必须用括号括起来;Python2中print为class

print 'python' # Python2.X
print("python") # Python3.X

整除
Python3中/表示真除,%表示取余,//结果取整;Python2中带上小数点/表示真除,%表示取余,//结果取整

# Python2
print '3 / 2 =', 3 / 2 # 结果为1
print '3 // 2 =', 3 // 2 # 结果为1
print '3 / 2.0 =', 3 / 2.0 # 结果为1.5
print '3 // 2.0 =', 3 // 2.0 结果为1
# Python3
print('3 / 2 =', 3 / 2) # 结果为1.5, 两者的差异处
print('3 // 2 =', 3 // 2) # 结果为1
print('3 / 2.0 =', 3 / 2.0) # 结果为1.5
print('3 // 2.0 =', 3 // 2.0) # 结果为1

xrange模块
在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中xrange() 会抛出命名异常)。

unicode
Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。
现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。

# Python2
str = "我爱北京天安门"
print 'str'

# 输出-> ‘\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8’
# Python3
中国 = 'china'
print(中国)

# 输出 -> 'china'

不等运算符

  • Python2.x中不等于有两种写法!=和<>
  • Python3.x中去掉了<>,只有!=一种写法

数据类型

  • Python3.x去除了long类型,现在只有一种整形——int,但它的行为就像2.x中long
  • 新增了bytes类型,对应于2.x的八位串
  • dict的.keys()、.items和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有dict.has_key(),用in来代替它

异常
在 Python 3 中处理异常也轻微的改变了,在 Python 3 中我们现在使用 as 作为关键词。捕获异常的语法由 except exc, var 改为 except exc as var。使用语法except (exc1, exc2) as var可以同时捕获多种类别的异常。 Python 2.6已经支持这两种语法。

  • 在2.x时代,所有类型的对象都是可以被直接抛出的,在3.x时代,只有继承自BaseException的对象才可以被抛出。
  • 2.x raise语句使用逗号将抛出对象类型和参数分开,3.x取消了这种奇葩的写法,直接调用构造函数抛出对象即可。
  • 在2.x时代,异常在代码中除了表示程序错误,还经常做一些普通控制结构应该做的事情,在3.x中可以看出,设计者让异常变的更加专一,只有在错误发生的情况才能去用异常捕获语句来处理。

扩展阅读
其实就全球下载量而言,python2的使用量远远超过python3,在国内多家互联网顶尖公司中python2的使用程度也是远远高于python3。

python2的终止支持不代表我们就不能去学习python2,其实python2种有很多很好的库(但因为长期无人维护在3中无法使用),此外两者间差异其实不算很大,只要注意其中的差别就可以"两开花"。`


国内招聘网站对python相关职位的需求待遇

分析了前程无忧网约100页关于python岗位的数据, 得到了如下的结果

python岗位的薪资一般都在0.8w+

薪资 提供该工资的公司数量
1-1.5万/月 634
1.5-2万/月 340
0.8-1万/月 268
6-8千/月 259
1-2万/月 255
0.8-1.5万/月 208
1.5-2.5万/月 197
0.8-1.2万/月 147
0.6-1万/月 110
2-2.5万/月 104

招聘python岗位的公司集中在北上广深等大城市

全国python岗位城市分布

主要招聘岗位词云图

可以发现其中较受欢迎的岗位为软件、前后端开发、大数据、运维、算法开发等方向
python招聘岗位.png

基于以上的分析,可以说python就业前景是非常可观的,同时伴随着如今人工智能的发展,相信在未来python的应用前景也会越来越广泛。


文章部分内容参考自:
  1. https://blog.csdn.net/qq_39521554/article/details/80855086
  2. https://blog.csdn.net/qq_38526635/article/details/81710721
  3. https://www.runoob.com/python/python-2x-3x.html
  4. https://blog.csdn.net/God_favored_one/article/details/78926563
  5. https://blog.csdn.net/u010070526/article/details/81782082
posted @ 2019-09-07 10:53  但是我拒绝  阅读(3740)  评论(2编辑  收藏  举报