Python 开发就业前景如何?

2020-03-25 09:46发布

2条回答
热爱学习群众
2楼 · 2020-03-25 10:01

一:Python web开发

学完Python可以做web开发,因为现在中国学习Python的比较少,而招聘Python的却非常的多,国内的豆瓣、果壳网等,国外的Google、Dropbox等都在使用Python做web开发。所以Python web是一个非常不错的选择方向。

第二:运维

目前很多运维人还没有学习Python,但是Python给运维带来的价值非常的大,在运维的工作中,有大量重复性工作的地方,并需要做管理系统、监控系统、发布系统等,将工作自动化起来,提高工作效率,这样的场景Python是一门非常合适的语言。如果用Python来做运维将会事半功倍。

第三:数据分析

现在无论是哪个行业的,做数据分析的人似乎都离不开Python,因为Python给他们带来的工作效率是非常的大。在、物理、建筑、地理信息系统、图像可视化分析、生命科学等领域都会运用Python进行科学和数字计算。

第四:自动化测试

一切关于自动化的东西,似乎Python都可以满足,Python可以满足大多数自动化工作,提升工作效率。

第五:3D游戏开发

Python有很好的3D渲染库和游戏开发框架,有很多使用Python开发的游戏,如迪斯尼卡通城、黑暗之刃。常用PyGame、Pykyra等和一个PyWeek的比赛。

第六:网络编程

除了网络和互联网的支持,Python还提供了对底层网络的支持,有易于使用的Socket接口和一个异步的网络编程框架Twisted Python。

第七:

下个时代就是人工智能时代,很多人都在关注,而在人工智能时代最主流的开发语言就是Python,这是一个潜力最大的选择方向,所以学习Python不会错。

可以说Python在IT领域运用相当广泛,学完后可以从事很多方面的工作。并且,根据职友集数据显示近一年python工程师平均工资:¥ 14410/月,取自 24851 份样本。且武汉地区Python招聘需求量为1460个职位。与Python相关工作的工资也是十分可观的。随着工作年限的增加Python工程师工资也是水涨船高。由此就见,Python就业前景是十分光明的。


卡卡
3楼 · 2020-10-12 09:24





  1. 数据采集

  2. 事情的起源是这样的,某个风和日丽的下午…习惯性的打开知乎准备划下水,看到一个问题刚好邀请回答

于是就萌生了采集下某招聘网站Python岗位招聘的信息,看一下目前的薪水和岗位分布,说干就干。

先说下数据采集过程中遇到的问题,首先请求头是一定要伪装的,否则第一步就会给你弹出你的请求太频繁,请稍后再试,其次网站具有多重反爬策略,解决方案是每次先获取session然后更新我们的session进行抓取,最后拿到了想要的数据。

Chrome浏览器右键检查查看network,找到链接https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false


可以看到返回的数据正是页面的Python招聘详情,于是我直接打开发现直接提示{"status":false,"msg":"您操作太频繁,请稍后再访问","clientIp":"124.77.161.207","state":2402},机智的我察觉到事情并没有那么简单

如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的。交流经验。从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的python学习者聚集地真正的较量才刚刚开始,我们先来分析下请求的报文,



可以看到请求是以post的方式传递的,同时传递了参数

datas={

'first':'false',

'pn':x,

'kd':'python',

}



同时不难发现每次点击下一页都会同时发送一条get请求



经过探索,发现这个get请求和我们post请求是一致的,那么问题就简单许多,整理一下思路

关键词:python**搜索范围:**全国**数据时效:**2019.05.05

在学习过程中有什么不懂得可以加我的

python学习交流扣扣qun,784758214

群里有不错的学习视频教程、开发工具与电子书籍。

与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

#!/usr/bin/envpython3.4

#encoding:utf-8

"""

Createdon19-5-05

@title:''

@author:Xusl

"""

importjson

importrequests

importxlwt

importtime


#获取存储职位信息的json对象,遍历获得公司名、福利待遇、工作地点、学历要求、工作类型、发布时间、职位名称、薪资、工作年限

defget_json(url,datas):

my_headers={

"User-Agent":"Mozilla/5.0(Macintosh;IntelMacOSX10_13_6)AppleWebKit/537.36(KHTML,likeGecko)Chrome/72.0.3626.119Safari/537.36",

"Referer":"https://www.lagou.com/jobs/list_Python?city=全国&cl=false&fromSearch=true&labelWords=&suginput=",

"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"

}

time.sleep(5)

ses=requests.session()#获取session

ses.headers.update(my_headers)#更新

ses.get("https://www.lagou.com/jobs/list_python?city=全国&cl=false&fromSearch=true&labelWords=&suginput=")

content=ses.post(url=url,data=datas)

result=content.json()

info=result['content']['positionResult']['result']

info_list=[]

forjobininfo:

information=[]

information.append(job['positionId'])#岗位对应ID

information.append(job['city'])#岗位对应城市

information.append(job['companyFullName'])#公司全名

information.append(job['companyLabelList'])#福利待遇

information.append(job['district'])#工作地点

information.append(job['education'])#学历要求

information.append(job['firstType'])#工作类型

information.append(job['formatCreateTime'])#发布时间

information.append(job['positionName'])#职位名称

information.append(job['salary'])#薪资

information.append(job['workYear'])#工作年限

info_list.append(information)

#将列表对象进行json格式的编码转换,其中indent参数设置缩进值为2

#print(json.dumps(info_list,ensure_ascii=False,indent=2))

#print(info_list)

returninfo_list


defmain():

page=int(input('请输入你要抓取的页码总数:'))

#kd=input('请输入你要抓取的职位关键字:')

#city=input('请输入你要抓取的城市:')


info_result=[]

title=['岗位id','城市','公司全名','福利待遇','工作地点','学历要求','工作类型','发布时间','职位名称','薪资','工作年限']

info_result.append(title)

forxinrange(1,page+1):

url='https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'

datas={

'first':'false',

'pn':x,

'kd':'python',

}

try:

info=get_json(url,datas)

info_result=info_result+info

print("第%s页正常采集"%x)

exceptExceptionasmsg:

print("第%s页出现问题"%x)


#创建workbook,即excel

workbook=xlwt.Workbook(encoding='utf-8')

#创建表,第二参数用于确认同一个cell单元是否可以重设值

worksheet=workbook.add_sheet('lagouzp',cell_overwrite_ok=True)

fori,rowinenumerate(info_result):

#print(row)

forj,colinenumerate(row):

#print(col)

worksheet.write(i,j,col)

workbook.save('lagouzp.xls')


if__name__=='__main__':

main()





当然存储于excel当然是不够的,之前一直用matplotlib做数据可视化,这次换个新东西pyecharts。

2.了解pyecharts

pyecharts是一款将python与echarts结合的强大的数据可视化工具,包含多种图表

Bar(柱状图/条形图)Bar3D(3D柱状图)Boxplot(箱形图)EffectScatter(带有涟漪特效动画的散点图)Funnel(漏斗图)Gauge(仪表盘)Geo(地理坐标系)Graph(关系图)HeatMap(热力图)Kline(K线图)Line(折线/面积图)Line3D(3D折线图)Liquid(水球图)Map(地图)Parallel(平行坐标系)Pie(饼图)Polar(极坐标系)Radar(雷达图)Sankey(桑基图)Scatter(散点图)Scatter3D(3D散点图)ThemeRiver(主题河流图)WordCloud(词云图)

用户自定义

Grid类:并行显示多张图Overlap类:结合不同类型图表叠加画在同张图上Page类:同一网页按顺序展示多图Timeline类:提供时间线轮播多张图

另外需要注意的是从版本0.3.2开始,为了缩减项目本身的体积以及维持pyecharts项目的轻量化运行,pyecharts将不再自带地图js文件。如用户需要用到地图图表(Geo、Map),可自行安装对应的地图文件包。


全球国家地图:echarts-countries-pypkg(1.9MB):世界地图和213个国家,包括中国地图中国省级地图:echarts-china-provinces-pypkg(730KB):23个省,5个自治区中国市级地图:echarts-china-cities-pypkg(3.8MB):370个中国城市


也可以使用命令进行安装

pipinstallecharts-countries-pypkg

pipinstallecharts-china-provinces-pypkg

pipinstallecharts-china-cities-pypkg



3.数据可视化(代码+展示)

各城市招聘数量

frompyechartsimportBar


city_nms_top10=['北京','上海','深圳','成都','杭州','广州','武汉','南京','苏州','郑州','天津','西安','东莞','珠海','合肥','厦门','宁波',

'南宁','重庆','佛山','大连','哈尔滨','长沙','福州','中山']

city_nums_top10=[149,95,77,22,17,17,16,13,7,5,4,4,3,2,2,2,1,1,1,1,1,1,1,1,1]


bar=Bar("Python岗位","各城市数量")

bar.add("数量",city_nms,city_nums,is_more_utils=True)

#bar.print_echarts_options()#该行只为了打印配置项,方便调试时使用

bar.render('Python岗位各城市数量.html')#生成本地HTML文件




地图分布展示(这个场景意义不大,不过多分析)

在学习过程中有什么不懂得可以加我的

python学习交流扣扣qun,784758214

群里有不错的学习视频教程、开发工具与电子书籍。

与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

frompyechartsimportGeo


city_datas=[('北京',149),('上海',95),('深圳',77),('成都',22),('杭州',17),('广州',17),('武汉',16),('南京',13),('苏州',7),

('郑州',5),('天津',4),('西安',4),('东莞',3),('珠海',2),('合肥',2),('厦门',2),('宁波',1),('南宁',1),('重庆',1),

('佛山',1),('大连',1),('哈尔滨',1),('长沙',1),('福州',1),('中山',1)]

geo=Geo("Python岗位城市分布地图","数据来源拉勾",title_color="#fff",

title_pos="center",width=1200,

height=600,background_color='#404a59')

attr,value=geo.cast(city_datas)

geo.add("",attr,value,visual_range=[0,200],visual_text_color="#fff",

symbol_size=15,is_visualmap=True)

geo.render("Python岗位城市分布地图_scatter.html")


geo=Geo("Python岗位城市分布地图","数据来源拉勾",title_color="#fff",

title_pos="center",width=1200,

height=600,background_color='#404a59')

attr,value=geo.cast(city_datas)

geo.add("",attr,value,type="heatmap",visual_range=[0,10],visual_text_color="#fff",

symbol_size=15,is_visualmap=True)

geo.render("Python岗位城市分布地图_heatmap.html")





各个城市招聘情况

frompyechartsimportPie


city_nms_top10=['北京','上海','深圳','成都','广州','杭州','武汉','南京','苏州','郑州']

city_nums_top10=[149,95,77,22,17,17,16,13,7,5]

pie=Pie()

pie.add("",city_nms_top10,city_nums_top10,is_label_show=True)

#pie.show_config()

pie.render('Python岗位各城市分布饼图.html')




北上深的岗位明显碾压其它城市,这也反映出为什么越来越多的it从业人员毕业以后相继奔赴一线城市,除了一线城市的薪资高于二三线这个因素外,还有一个最重要的原因供需关系,因为一线岗位多,可选择性也就比较高,反观二三线的局面,很有可能你跳个几次槽,发现同行业能呆的公司都待过了…

薪资范围

由此可见,python的岗位薪资多数在10k~20k,想从事Python行业的可以把工作年限和薪资结合起来参考一下。

学历要求+工作年限

从工作年限来看,1-3年或者3-5年工作经验的招聘比较多,而应届生和一年以下的寥寥无几,对实习生实在不太友好,学历也普遍要求本科,多数公司都很重视入职人员学历这点毋容置疑,虽然学历不代表一切,但是对于一个企业来说,想要短时间内判断一个人的能力,最快速有效的方法无疑是从学历入手。学历第一关,面试第二关。

但是,这不代表学历不高的人就没有好的出路,现在的大学生越来越多,找工作也越来越难,竞争越来越激烈,即使具备高学历,也不能保证你一定可以找到满意的工作,天道酬勤,特别是it这个行业,知识的迭代,比其他行业来的更频密。不断学习,拓展自己学习的广度和深度,才是最正确的决定。

就业寒冬来临,我们需要的是理性客观的看待,而不是盲目地悲观或乐观。从以上数据分析,如果爱好Python,仍旧可以入坑,不过要注意一个标签有工作经验,就算没有工作经验,自己在学习Python的过程中一定要尝试独立去做一个完整的项目,爬虫也好,数据分析也好,亦或者是开发,都要尝试独立去做一套系统,在这个过程中培养自己思考和解决问题的能力。持续不断的学习,才是对自己未来最好的投资,也是度过寒冬最正确的姿势。


相关问题推荐

  • 回答 5

    python中单行注释采用 #开头示例:#this is a comment二、批量、多行注释符号多行注释是用三引号,例如:输入''' '''或者 ,将要注释的代码插在中间三、Windows下的IDLE的注释快捷键是Alt+3,取消注释是Alt+4四、python中文注释方法...

  • 回答 3

    apply

  • 回答 3

    标准库Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库的主要功能有:1.文本处理,包...

  • 回答 6

    Python Lambda函数是没有任何名称的函数。它们也称为匿名或无名功能。 lambda一词不是名称,而是关键字。此关键字指定后面的函数是匿名的。现在您已经知道这些匿名函数指的是什么,让我们进一步了解一下如何编写这些Python Lambda函数。...

  • 回答 18

    Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,...

  • 回答 4

    深度学习工程师就业路径目前,成为深度学习工程师有两条路径:一是通过春秋两季的校园招聘,另一种是借助社会招聘跨行业转型。前述文章曾经将深度学习工程师分为算法工程师、后端工程师和前端工程师。综合目前市面上各大公司招聘和咨询报告结果,目前工作3-5...

  • 回答 19

    零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有很多的学校使用python作为入门编程语言。此外,python在机器学习,人工智能领域也非常流行,算得上是算法工程师的标配编程语言。...

  • 回答 10

    包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。python库是参考其它编程语言的说法,就是指python中的完成...

  • 回答 5

    1、len(mapping)        返回映射的长度(键-值对的个数)2、hash(obj)              返回obj的哈希值>>> myDict = {'name':'earth', 'port':'80'} >>> len(myDict) 2 >>> hash('name') 1...

  • 回答 7

    常用内建属性说明触发方式__init__构造初始化函数创建实例后,赋值时使用,在__new__后__new__生成实例所需属性创建实例时__class__实例所在的类实例.__class____str__实例字符串表示(可读性)print(类实例),如没实现则使用repr结果__repr__实例字符串表示...

  • 回答 4

    ‘‘‘关键字:False:bool数据类型True:bool数据类型None:表示数据的内容为空and:逻辑运算符:与or:逻辑运算符:或not:逻辑运算符:非in:身份运算符,判断变量是否在序列中is :成员运算符,判断变量是否为某个类的实例del:删除变量或序列的值assert:列...

  • 回答 8

    函数注释语法函数注释包括:参数注释:以冒号(:)标记返回值注释:以 -> 标记语法结构大体如下:1、def foo(a: expression, b: expression = 5) -> expression:2、 ...在伪语法中,参数看起来像:identifier [: expression] [= expression]。也就是说,参数...

  • 回答 6

    OpenDoor变量的命名: year_month_day = 2020-7-24 这样写以后都会写很多单词,比较麻烦,可以用ymd代替,然后在第一行或者句尾添加注释说明 a, b, c =1,2, 3 这样的赋值在python中也是可以用的

  • 回答 5

    Python 使用井号#作为单行注释的符号,语法格式为:# 注释内容从井号#开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到#时,会忽略它后面的整行内容。说明多行代码的功能时一般将注释放在代码的上一行多行注释指的是一次性注释程序中多行的内容...

  • 回答 6

    在IDLE中,常用 Alt + 3 给当前行进行注释                           Alt + 4 取消当前行的注释在Pycharm中,常用 Ctrl + / 将所选部分快速注释,再按一次 Ctrl + / 可以将所选部分注释取消...

没有解决我的问题,去提问