Python各个领域都有哪些框架:
自动化测试: UIAutomator,Appium,Unittest, selenium等 。
运维开发:jekins, zabbix, django等
web系统:django, flask, tornado,bottle, web.py, Pyramid等等
爬虫:scrapy, pyspider等 大数据:numpy,scipy等等
桌面应用:wxPython, pyqt等
python常见问题整理:
Q1:老师您好,现在python作为一门最贴近生活的语言,我打算把他当做副语言作为兴趣来学习……您有没有好的建议或者看法帮助我少踩一些坑,感觉python是很符合解决生活中遇到问题的语言……
bobby讲师:如果想把python当做自己的第二语言, 最好事先有个概念就是:哪些问题我要用python来解决?如果能用python解决就优先使用python解决。在学习的过程中切记不能摇摆不定,比如由于我是不是应该继续学下去, 我到底应该学习哪些具体知识。
最好通过具体的一个库或者框架去解决现有的问题以此来加深自己对python的理解才是学习语言的正确姿势,脱离了具体问题来学习都是效果最不好,而且经常忘记的。 第二就是一定要善用google以及要懂得看错误提示, 要在一大推的错误栈中找到最关键的错误并拿着这个错误去找答案才能高效的解决问题。
Q2:我已经自学完了python基础,接下来学习什么?
bobby讲师:这里推荐的是web系统开发和爬虫开发, 这两个方向是最适合自己学的, 学习web系统开发的话可以先学习django,django是一门全栈的web开发框架, 可以帮你快速理解开发一个web系统需要开发哪些东西。然后如果django熟练的话就可以去学习flask和tornado, 去自己实现一个自己想要的更全面一点的web开发框架。 爬虫的话可以首先通过requests和gevent去实现一个爬虫, 了解了爬虫的基本原理之后就可以去用scrapy去写自己的爬虫系统了。 最后再通过结合django和scrapy完成一个完善的爬虫以及爬虫控制系统了。
Q3:python如何进阶学习?
bobby讲师:python进阶这个问题需要细化一下, 你是需要在web开发领域的python进阶呢, 还是只是python语言本身的进阶上面, 如果比如web开发领域的进阶对你来说最重要的除了python语言本身以外还包括网络知识, 数据库知识进阶, 架构设计进阶, 缓存的设计等等, 这些知识除了python本身以外还有很多基础知识。 如果你只是python语言本身的进阶上你就可以去深刻的理解动态语言的各种特性, 比如函数变成, 偏函数, python的各种魔法函数,生成器,python底层的c语言数据结构,python mro算法,python 猴子补丁,__ metaclass__等等知识点比较多。
Q4:阅读flask框架的源代码感觉入门困难(从最早期的版本开始阅读的),无法体会到精髓,请问老师有没有好的建议,好的技术博客可以分享下。
bobby讲师:编程最重要的是自己的兴趣以及对解决问题本身的投入程度, 也要看自己对技术的应用频繁程度。
有些技术比如django,有人有机会在3个月内需要开发一个web系统,而且各种功能和性能都有要求, 那这个人成长就很快。有些人比如用django开发一个小系统而且时间不着急, 两个人的学习密度就完全不一样。
所以解决问题本身以及自己给自己施加的压力才是保证自己学习效果的最好方法。等到自己多解决几个问题自然就知道自己下一步该做什么了, 所以无法给你一个具体的时间, 遇到问题就想办法解决并做好,然后反复的问自己还能不能做的更好,或者还有没有细节没有解决, 多深入细节很重要。
整理自:慕课网