为了账号安全,请及时绑定邮箱和手机立即绑定

【花式填坑第2期】人生苦短,我用Python

【花式填坑第2期】人生苦短,我用Python

慕女神 2017-05-04 10:33:59
 花式填坑第2期如约而至。上期的“高效前端开发·Vue.js”话题在大家的积极提问和IT大咖精彩回答完美落下帷幕本周,我们来聊聊关于python的话题,让我们对 python有更加全面的认识。随着人工智能时代的来临, python越来越受到开发者的关注。 作为人工智能及爬虫等各种系统开发的首选语言,python能做什么?对比与其他语言,python的优势是什么?点击可查看,Bobby老师的个人主页这是一个非常难得的机会,和Python全栈大咖一对一交流,大家赶紧来提问吧!话题交流时间:5月5日--5月7日大家可以把问题都提前准备好了,老师会在活动时间一一给大家解答的!
查看完整描述

22 回答

?
Manes

TA贡献15条经验 获得超66个赞

老师,想知道python相比其他的java,php,go这些的优势是什么?可不可以详细说说,感谢老师

查看完整回答
33 反对 回复 2017-05-04
点击展开后面4
?
bobby

TA贡献14条经验 获得超75个赞

问题:你好,请问pthon2.X和3.X不同的版本,不同版本之间也存在着不同语法。本人做java的,学习中觉得3.X版本跟java语法更为贴近,但是很为教程都是以2.x主讲的。新手入门学习时,应以哪一个为主?另外python基础学完后的学习路线应该如何规划,另外可否麻烦老师给一个python新手学习路线图?



1.  python2和python3的语法差别不大,如果你会python2的话,通过两天时间就足以转换到python3了,python3和python2最大的区别就是字符串编码了,以及部分库换了存放的位置了而已。

2.  但是目前实际工作中的应用还是以python2.7为主, 所以你选择哪个都无所谓,如果只是单纯的学习为主你可以选择python3学习。

3. python基础学完以后你首先需要明确你需要学习的是什么? 这里推荐的是web系统开发和爬虫开发, 这两个放心是最适合自己学的, 学习web系统开发的话可以先学习django,django是一门全栈的web开发框架, 可以帮你快速理解开发一个web系统需要开发哪些东西。然后如果django熟练的话就可以去学习flask和tornado, 去自己实现一个自己想要的更全面一点的web开发框架。 爬虫的话可以首先通过requests和gevent去实现一个爬虫, 了解了爬虫的基本原理之后就可以去用scrapy去写自己的爬虫系统了。 最后再通过结合django和scrapy完成一个完善的爬虫以及爬虫控制系统了

4. 学习完了上面之后你就可以学习一下python的进阶知识了, 关于python的进阶学习可以在知乎上找, 资料很多的

查看完整回答
22 反对 回复 2017-05-05
?
日出公园

TA贡献2条经验 获得超17个赞

Python Django学到什么程度能找到一份实习岗位?怎么写一份python web开发的简历呢?这种岗位哪里比较多?南京好像不多

查看完整回答
17 反对 回复 2017-05-04
?
bobby

TA贡献14条经验 获得超75个赞


问题:老师您好,现在python作为一门最贴近生活的语言,我打算把他当做副语言作为兴趣来学习……您有没有好的建议或者看法帮助我少踩一些坑,感觉python是很符合解决生活中遇到问题的语言……谢谢老师


    如果想把python当做自己的第二语言, 最好事先有个概念就是:哪些问题我要用python来解决?如果能用python解决就优先使用python解决。 在学习的过程中切记不能摇摆不定,比如由于我是不是应该继续学下去, 我到底应该学习哪些具体知识, 通过具体的一个库或者框架去解决现有的问题以此来加深自己对python的理解才是学习语言的正确姿势,脱离了具体问题来学习都是效果最不好而且经常忘记的, 解决具体的问题才是最快速的方法, 第二就是一定要善用google以及要懂得看错误提示, 要在一大推的错误栈中找到最关键的错误并拿着这个错误去找答案才能高效的解决问题。

查看完整回答
15 反对 回复 2017-05-05
?
丶似浅

TA贡献2条经验 获得超11个赞

你好,请问pthon2.X和3.X不同的版本,不同版本之间也存在着不同语法。本人做java的,学习中觉得3.X版本跟java语法更为贴近,但是很为教程都是以2.x主讲的。新手入门学习时,应以哪一个为主?另外python基础学完后的学习路线应该如何规划,另外可否麻烦老师给一个python新手学习路线图?

查看完整回答
11 反对 回复 2017-05-04
?
大咪

TA贡献785条经验 获得超332个赞

老师您好,现在python作为一门最贴近生活的语言,我打算把他当做副语言作为兴趣来学习……您有没有好的建议或者看法帮助我少踩一些坑,感觉python是很符合解决生活中遇到问题的语言……谢谢老师
查看完整回答
10 反对 回复 2017-05-04
?
圈9

TA贡献1条经验 获得超7个赞

为什么人工智能的第一开发语言是python?

查看完整回答
7 反对 回复 2017-05-04
  • bobby
    bobby
    人工智能不一定非得用python才行, 其他语言都可以, 但是谷歌的TensorFlow基本上所有的代码都是C++和Python,其他语言一般只有几千行 。如果讲运行速度的部分,用C++,如果讲开发效率,用Python,Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具(MATLAB也能搞科学计算,但是软件要钱,且很贵),从而积累了大量的工具库、架构,人工智能涉及大量的数据计算,用Python是很自然的,简单高效。Python有非常多优秀的深度学习库可用,现在大部分深度学习框架都支持Python
?
BeShelby

TA贡献3条经验 获得超6个赞

老师,Python开发一个程序,运行起来似乎很慢,它的运行速度是C开发一个同样程序的几倍到几百倍,那么这是不是Python的短板呢,如果在追求速度的情况下,Python能否提高它的执行速度呢以及怎么提高速度,感谢老师!

查看完整回答
6 反对 回复 2017-05-04
  • 安生ing
    安生ing
    速度慢的百分之99原因都是因为你代码写的有问题,现在的计算机不想十年前,根本不需要考虑性能的问题。
  • bobby
    bobby
    安生说的有道理, 几乎99%的系统性能问题是不需要需要涉及到语言本身的快慢的, 一个系统的并发语言本身只是一部分,比如高并发需要涉及到代码优化, 缓存机制, sql语句优化等优先解决了然后再去考虑语言本身, 而且对python来说, 性能的部分使用pypy以及使用c语言编写然后python直接调用这些性能是完全可以达到甚至超过其他语言的
  • Timm_Lee
    Timm_Lee
    大型实时在线网络游戏 EVE online 就是用 python 开发的,性能一点都不差,因为他们用了 Stackless Python 技术(类似于 gevent worker 模式)。另外 Python 号称“胶水语言”名不虚传,因为 Python 可以用各种语言实现解释器,所以对于影响性能的20%甚至更小的性能瓶颈部分,完全可以用 C/C++改写(Cython),甚至可以和 Java 结合(Jython)。另外通过pypy可以实现JIT实时编译,也可以静态编译成机器码,据称性能比C更快。 另外,过早的优化是罪恶。Python最强的是做原型,原型得到市场认可以后再考虑性能的问题也不迟。比如早期的 Google、Quora、Instagram、豆瓣、知乎、今日头条都是Python 的重度用户,后期慢慢提升性能也不迟。
?
莨菽菽

TA贡献3条经验 获得超7个赞

老师好,学JavaWeb的有必要学PythonWeb么?目前市场开发的python更多是测试和自动化岗位吧?web市场中,大型的项目被java占领,小型的有php,python如何在web市场分一杯羹?优势劣势在哪?python在其他方面,比如爬虫啊,数据挖掘等方面的就业前景和学的要求怎么样?麻烦老师解答一下,谢谢

查看完整回答
7 反对 回复 2017-05-04
?
慕粉4337887

TA贡献1条经验 获得超5个赞

老师好,python对于全栈来说相对java,php来说,有何优劣!?请指教!谢谢。

查看完整回答
5 反对 回复 2017-05-04
  • bobby
    bobby
    这个问题因为内容比较多,我专门写了篇手记来回答这个问题: http://www.imooc.com/article/17825
?
FerdinandFung

TA贡献1条经验 获得超4个赞

想要老师帮忙解答使用python处理大数据相关的学习路径,现在在准备一个大数据比赛,计划使用python来做,但苦于无从下手,网上切实能解决问题的教程不多,感觉看了很多缺还是徘徊在大数据的门口,希望老师能解答困惑,感谢老师。

查看完整回答
4 反对 回复 2017-05-04
  • bobby
    bobby
    数据相关的重点在于你对算法本身的理解如何, 比如一个问题你需要用聚类还是分类以及拟合来完成, 这些解决方案在于你对算法本身的理解, 脱离了算法去学习语言是无法真正学习好的, 你只有知道自己需要用到什么算法,然后再直接找到python相关的开发包去解决问题然后进行参数调优等策略才能加深自己对算法的理解。 所以你首先需要从一个具体的问题入手开始解决而不是不停的去看python开发库
?
沉迷学习的程序猿

TA贡献22条经验 获得超17个赞

老师真牛,要达到老师这种级别,得多长时间?

查看完整回答
6 反对 回复 2017-05-04
  • bobby
    bobby
    编程最重要的是自己的兴趣以及对解决问题本身的投入程度, 也要看自己对技术的应用频繁程度, 有些技术比如django,有人有机会在3个月内需要开发一个web系统而且各种功能和性能都有要求, 那这个人成长就很快, 有些人比如用django开发一个小系统而且时间不着急, 两个人的学习密度就完全不一样, 所以解决问题本身以及自己给自己施加的压力才是保证自己学习效果的最好方法, 等到自己多解决几个问题自然就知道自己下一步该做什么了, 所以无法给你一个具体的时间, 遇到问题就想办法解决并做好,然后反复的问自己还能不能做的更好,或者还有没有细节没有解决, 多深入细节很重要。
?
bruce王

TA贡献1条经验 获得超3个赞

因为python在各种方向的的适用。作为一个职场新人,很想了解下python的各个发展方向,及各发展方向应该具备pyhon的哪些技能,怎样开始学习可以少走弯路,有效率的精通某一方向。

查看完整回答
3 反对 回复 2017-05-04
  • bobby
    bobby
    python使用的领域很多包括自动化测试开发, 运维开发, web系统开发, 爬虫, 大数据, 桌面应用开发,云计算等。这些领域你需要选择一门自己感兴趣的领域然后再去学习各个领域的框架和库。 接下来介绍一下各个领域的框架: 自动化测试: UIAutomator,Appium,Unittest, selenium等 运维开发:jekins, zabbix, django等 web系统:django, flask, tornado,bottle, web.py, Pyramid等等 爬虫:scrapy, pyspider等 大数据:numpy,scipy等等 桌面应用:wxPython, pyqt等
?
MikeXiao0

TA贡献3条经验 获得超3个赞

老师,你熟悉机器学习,讲点这方面的项目,支持你!~

查看完整回答
2 反对 回复 2017-05-05
  • bobby
    bobby
    非常你的感谢支持, 后期如果有时间会考虑的
?
犁牛

TA贡献1条经验 获得超2个赞

几乎万能的第三方库确实方便了开发,但是会不会导致编程能力退化呢?第三方库会不会有安全性问题?

查看完整回答
2 反对 回复 2017-05-05
  • bobby
    bobby
    这个问题分两面看:第一如果什么都自己写,会有两个缺点:第一费时,第二代码写的难看, 好代码或者代码设计风格都是模仿出来的, 多看看第三方的优秀代码不仅能加快开发速度而且能学习到如何设计出一个好的代码架构。 但是如果经常用第三方而不去理解到内部实现原理以及不去看源码设计优良的地方就容易造成对代理的理解不深, 对代码理解深入最好的方式就是多看第三方优秀的代码并学习其中的精髓。大部分人自己写代码会很难看的
?
请叫我程序猿88

TA贡献2条经验 获得超4个赞

老师我想知道 scrapy可不可以同时爬取多个网站如果可以要学哪些知识

查看完整回答
2 反对 回复 2017-05-04
  • 慕工程2132270
    慕工程2132270
    你多写两个函数不就行了
  • bobby
    bobby
    scrapy当然可以爬取多个网站了, 你学习了scrapy之后自然就会知道如何爬取多个网站了, scrapy中不仅有爬取网站的功能, 还有很多防止爬虫被禁止的功能, 是一整套解决爬虫问题的框架
?
我想当大神

TA贡献2条经验 获得超2个赞

python未来的趋势是什么?

查看完整回答
2 反对 回复 2017-05-04
  • 安生ing
    安生ing
    征服世界,取代C
  • bobby
    bobby
    python的宣传语是: 人生苦短,我用python, 所以我们就把他理解为让程序员快乐编程, 有更多的时间去陪家人和做自己喜欢的事情吧
  • bobby
    bobby
    python应该是没有什么趋势的, python一直想解决的问题不是然让自己在某个领域很强大而是希望让编码更轻松和效率更高
?
爱生活爱胖胖

TA贡献56条经验 获得超455个赞

请问老师python如何进阶学习?

查看完整回答
2 反对 回复 2017-05-04
?
Timm_Lee

TA贡献1条经验 获得超1个赞

bobby 老师常说的 python 基础应该包括哪些方面,需要掌握到什么程度?

查看完整回答
1 反对 回复 2017-05-05
  • bobby
    bobby
    python语言本身的基础就和其他语言本身的基础是一样的 比如 if else语法, 数组,字典, 列表, set, 文件操作这些几乎都是所有语言的基础, 面向对象在动态语言和静态语言中会有一些差别, python编码中一定要加深对面向对象的理解以及掌握好python的反射机制,能让我们灵活的控制python中的对象, 以及理解到python中的一切皆对象的观念。 如果涉及到其他领域的知识就需要自己去熟悉各个领域的基础知识了
  • Timm_Lee
    Timm_Lee
    好的,谢谢 bobby 老师。
?
MikeXiao0

TA贡献3条经验 获得超3个赞

老师,你熟悉机器学习,讲点这方面课程,一如既往支持你!~

查看完整回答
1 反对 回复 2017-05-05
  • bobby
    bobby
    非常你的感谢支持, 后期如果有时间会考虑这方面的课程的
首页上一页12下一页尾页
  • 22 回答
  • 34 关注
  • 30720 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信