说到用 Python 工作的体验,就一个字,爽。

工作过两家公司,第一家公司是用 C/C++ 的,主要还是用 C,每天写代码经常和一堆指针还有五花八门的位运算过不去,调试的时候还要经常去对内存中每一位的值。没错,那时候就是搞嵌入式开发的。在某天想提升自我的时候,我决定静下心来学一学 Python,先是看了《Head First Python》,然后挨个栗子写过去,遇到问题强迫自己先去查官方文档,还是不能解决就百度 or Google 之,大部分问题都能在 stackoverflow上找到答案。这个过程保持了三四天的样子,基本已经能根据自己需求写出一个像样的 Python 脚本了(比如spider)。

于是答主为了能更好地发挥自己算法方面的优势,离开了第一家公司,到了一家做互联网广告的创业公司,全公司的技术开发全部为 Python,底层部分是用 C++ 的。公司用 Python 的原因主要在于创业阶段力求缩短开发期,及时将调整的方向落实下来并观察市场反馈情况,所以像 BAT 这样的企业为了求稳定和效率必然不会用 Python 来做核心业务开发。我在入职之后大致上做过以下 Python 相关的工作:

1、Spider

这个算是 Python 的拿手绝活了,我工作上使用了 scrapy开源框架,主要是针对电商数据进行抓取。必要的时候还会用到 beautifulsoup辅助解析网页( scrapy 自带的 xpath 提取内容相对更好用一些),用 selenium的 webdriver 来模拟浏览器上的一些行为(主要用来模拟一些无法获取 post 包的 ajax 请求)。存储上用过多种数据库比如 MongoDB、Redis、MySQL。抓取这一块用的最多的是 MongoDB,这里具体原因就不展开了。和 spider 相关的工作还有分布式开发,自己做过一个 spider 调度架构,也是用 Python 写的。

2、Data Mining

这工作基本算是在互联网公司做算法永恒不变的主题,在答主的公司主要目的就是实现广告的精准投放。这块工作说简单来就是用决策树和协同过滤做用户的个性化推荐,加以一些聚类模型优化广告竞价的选词出价。虽然 Python 有许多现成的 ML 库,不过这块工作基本还是重新造了轮子,不能说我写出来的模型一定比开源来得好,但至少在发现 bug 的时候,可以准确知道是哪行代码出了问题,而不至于出了问题要翻别人的几千行开源代码,在日后也会更方便做分布式和并行计算的拓展。

3、Interfaces

由于创业公司的技术开发人手有限,所以也要搞后端开发的活,主要负责和前端进行数据交互,然后和各大网站 API 对接(比如淘宝、百度、大众点评等等)。这块工作主要就是利用 python 编写多线程脚本,实现诸如消息队列这样的功能。也有一些现成的软件框架,比如我们目前用的是 Thrift框架,接口转发层是 Python 写的,然后分布式到每台服务器上的数据处理模块是 C++ 写的。还有一部分工作就是用 Python 的 Django 框架进行 web 开发,比如官网和各种管理台开发。

有些人总是喜欢吐槽说 Python 性能低,内存占用高,还有糟糕的多线程。没错,这些的确都是 Python 的缺点。但是语言毕竟只是一种工具,选择用什么语言做开发得看你自己的需求不是,至少用 Python 处理每日几千万的 PV 是没问题的。Google 的好多项目开发都还是用 Python,况且 Python 之父也还在 Google 呢,你确定你们的项目一上来就堪比 Google 的项目规模?

---------------------------------------------

这篇是三年前的回答了,你们就不要吐槽荷兰人 Guido 不在 Google 的故事了……

之前写的薪水也是三年前的行情,我也删掉了免得你们再吐槽(逃

python工程师百度百科-Python 工程师在公司工作体验如何?相关推荐

  1. python语言百度百科-Python 语言下数据驱动DDT的应用

    数据驱动测试的含义: 在百度百科上的解释是: 数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产品 ...

  2. python爬虫百度百科-python爬虫(一)_爬虫原理和数据抓取

    本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...

  3. python爬虫百度百科-python每日一题:网络爬虫百度百科

    # !控制主机程序 '''主机发送爬虫网址,从机进行爬取信息,并返回给主机''' #本次优化主要是:由于发送url与爬取url速度差异较大,造成发送url的队列中存在数据较多,占用内存. # 新方案是 ...

  4. python爬取百度百科词条-python简单爬虫爬取百度百科python词条网页

    目标分析: 目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL: ...

  5. python爬去百度百科词条_python简单爬虫爬取百度百科python词条网页

    目标分析: 目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL: ...

  6. python类百度百科_Python抓取百度百科数据

    抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分数据.本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介. 分析目标:分析要抓取的url的格式,限定抓取范围.分析要抓 ...

  7. python爬虫百度百科-如何入门 Python 爬虫?

    目前网上有关网页爬虫的指导有很多,但是套路却是千篇一律,基本都是围绕以下内容进行展开,CSS/html等网页知识 requests或urllib BeautifulSoup或正则表达式 Seleniu ...

  8. 转载百度百科 python

    Python (计算机程序设计语言) 编辑 讨论 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添 ...

  9. python百度百科-Python语言的发展简史

    本文主要向大家介绍了Python语言的发展简史,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. Python是我喜欢的语言,简洁.优美.易用.前两天,我很激昂地向朋友宣传Pytho ...

最新文章

  1. 制作nginx和php的rpm包
  2. Winform程序怎么降低占用的内存?
  3. 牛客网---Java题库(1~10)
  4. 如何获取百度文库中的文章【原创】
  5. 基于Redis的用户发微博
  6. 2.TCP/IP 详解卷1 --- 链路层
  7. 计算机考试关于计算量,2020年税务师考试计算器要求、考试教材变化及题型题量...
  8. php fseek函数,php fseek函数怎么用 - fseek
  9. 分别使用docx4j,jacob将文字与图片插入word中书签位置
  10. 屏库是个很好的网站,囊括了几乎所有型号的显示屏
  11. json数组的遍历(获取属性名和属性值)
  12. [大数据]数据可视化 -- 练习卷(下)
  13. chrome浏览器表单自动填充默认样式-autofill设置
  14. 随身理财专家“挖财”推iPad应用,新增帐号对比功能
  15. GAN学习:一个简单的GAN搭建
  16. 2019, XII Samara Regional Intercollegiate Programming Contest
  17. securefx显示linux目录,使用secureFX连接到linux上需要在linux上配置什么
  18. python的subprocess模块
  19. 计算机应用与基础教学计划,《计算机应用基础》教学计划
  20. Linux环境下无UI界面进行WEB认证

热门文章

  1. Storm-kafka源码分析之Config相关类
  2. VS 2013 with update安装失败(kb2829760)解决方案
  3. 【代码笔记】iOS-自定义弹出框
  4. 大图剪切工具,大图分割工具
  5. python是什么语言、即变量不需要显示声明数据类型-Python函数声明以及与其他编程语言数据类型的比较...
  6. python安装教程win10-PyCharm 安装教程(Windows)
  7. python爬虫能干什么-爬虫可以做的事情非常多,Python的爬虫你又了解多少?
  8. python期末考试题及答案翻译-用 python 解 NOIP 竞赛题
  9. python与excel的应用-Python利用pandas处理Excel数据的应用
  10. python绘制3d图-Python matplotlib绘图示例 - 绘制三维图形