作者回复: 暂时不会出进阶教程,因为python基础是通用的,通过app或者电脑看视频会有一定的收获,从0到1或者只是到0.1,但这些都不是最理想的学习方法,需要大家掌握python基础语法之后,经过大量的练习,掌握计算机原理、掌握所需要行业的函数库之后,再去学习python高级知识才更有成效。比如web开发可以关注flask、django框架的编写,从事机器学习可以关注tensorflow库的编写等等。
作者回复: python爬虫框架非常多,比较流行主要有Scrapy、PySpider
个人用的较多的是Scrapy,因为有XPath和CSS选择器,从个人使用习惯更好用一些
据使用过两个爬虫框架的人说,pyspider更简单,上手较快,其他区别可以通过搜索引擎进行比较。
还有值得学习的有urllib2、urllib3、selenium这些包,简单的爬虫用urllib就可以实现了
selenium可以调用浏览器,完整的解析js,当然执行速度上要慢,这些都是编写爬虫常用的包
作者回复: 你好,课程中没有包括数据库编程相关的内容,我在这里介绍一下Python数据库编程的学习思路
首先应该对SQL语句做一定的学习,简单的DDL、DML需要掌握
其次要了解数据库的类型和连接数据库的方式
在Python中连接数据库方式可以分为数据库接口和ORM方式
数据库接口方式访问关系型数据库,如MySQL可以使用MySQLdb,MySQL,Oracle数据库使用Oracle包,使用pip安装即可
非关系型数据库,如MongoDB,可以使用pyMongo3、MongoDB包
需要去熟悉各种包的用法,掌握连接方式,他们的操作方式统一是使用SQL语句方式
另一种连接数据库方式是ORM方式,使用ORM方式不用显式的给出SQL命令,将SQL语句抽象成对象。如Django Web框架连接数据库就使用了ORM方式。
建议参考资料 《Python官方文档》《Django官方文档》《Python核心编程》
作者回复: 会有的,在打磨一下,让大家易学易懂,有收获。
作者回复: 第一遍学习,就是要将Python的重点概念和你已知的知识进行连接,这也是视频的目的;接下来要细抠每一个技术细节,了解常用库、模块、框架,这才是学习一门语言的好方法。
作者回复: 像是word excel pdf 都有专门处理的库,一般我在处理陌生格式的文档时也是通过搜索引擎现用现查的,比如excel使用xlrd和xlwt库,也可以使用openpyxl库,要看哪个功能更符合你期望的需求。甚至有时候为了简化库的使用,先做格式转换,例如将excel先转换为csv,可以直接用文本方式处理了。
作者回复: 运维工程师用到的库很多,要根据需要选择学习,如做配置文件操作会需要re、jinja2库做文本替换,对文件目录操作的os、shutil、tarfile库,处理交互模式的pexpect、paramiko库,集中化管理的ansible库,web框架django、flask库等等
作者回复: 推荐官方文档啊,没有任何人比作者更了解他的程序了。
另外不建议跨平台打包,python没有那么牛的兼容性,会引入很多奇怪的bug进来
作者回复: 您好,python自动化测试我在职业工作中没有涉及,不敢随便推荐,我提供一个思路,一般我会以“python”“自动化测试”作为关键字,找畅销书,根据图书的好评度甄选一些图书作为参考,如果需要转行可以找目标公司相关的岗位,或者大厂的岗位,看看招聘方需要什么样的技能组合和知识积累,来作为自己努力的目标,希望对你有所帮助。
作者回复: 这个想法不错,我一般会这样思考:
1 python是否适合做数独?要在哪个平台做(手机还是电脑、windows、linux还是mac)?
2 数独游戏的规则,怎么样转化成编程语言
3 怎样处理用户交互,是否要计算数独的解?
4 基于你提问的场景,我相信你希望通过编写一些有趣的游戏来使学习不那么枯燥,也利用数独算法来磨炼你的python技能和递归算法的掌握,而不是过多关注游戏的趣味性,因此图形界面,游戏的可玩性可以先不用管,用字符界面开发一个有核心玩法的数独对自己的python技能提升会比较大,希望对你有所帮助。
作者回复: 运维工作涵盖的技能很多,也需要使用不同的框架。使用框架的目的是因为1 框架比我自己写的好,解决问题的思路比我成熟 2 不用重复造轮子 ,这是用框架的最直接的目的。
所以如果在运维工作中,要根据你的具体需求来确定框架,比如做个运维支持工具需要web框架,你需要从django 、flask 中选择一个和业务场景贴近的,你最熟悉的来使用。
作者回复: 您好,web方向功能的强大的确是目前的一个好的就业方向,但是庞大的功能也包含了很多知识,让大家学起来产生了很多困惑。我提供其中一个学习的思路给你做个参考:
1 由于你之前从事过windows平台的后端开发,所以可以从比较python语法和delphi语法的特点开始,那么完整的python语法其实官方文档是最全的,可以从https://docs.python.org/zh-cn/3.6/ 这里了解完整的python基础数据类型,从https://docs.python.org/zh-cn/3.6/whatsnew/3.6.html 比较新引入的特性,这些特性可以用来干什么活,解决什么问题。
2 语法了解清楚之后就要了解常用的web框架了,业界比较流行的就是django、flask两个看自己和公司的需求来确定,加上mysql、MongoDB数据库,组成基本的web后端,如果工作需求对前端要求不高就扩展自己的后端开发能力,如果对前端要求比较高那你需要继续学习前端知识。
3 接下来要看你的业务场景是否需要自己开发前端,如果前端也要掌握那就进入了另一个领域H5了,少不了html5、css、js ,当然现在也是框架了比如bootstap、vue.js
这些都学下来发际线少不了要后退几十厘米,还是要根据岗位需求和自己的喜好程度来加深某一方面技术的学习。
作者回复: pip是python的包管理器, 它只能按照在PyPI 上的软件包,而dbdb没有提交到PyPI(或者说作者写了这个包,但是没有公布给大家下载,自己用),用pip命令就找不到这个软件包
作者回复: __name__ 是内置变量,当你单独运行一个B包的时候,这个__name__的值就是__main__ ,当你用A包调用B包时,__name__的值就是A包, 用于区分这个包是单独执行还是被其他包调用;
因此一般会看到一个包的写法如下:
包名称.py
def 一个函数():
函数要做的事情
if __name__ == '__main__' :
执行一个函数
如果单独运行 python 包名称.py ,就执行这个函数, 如果用 import 包名称 ,就声明这个函数而不执行它
作者回复: 好的,我把您的建议发给产品同学,感谢您的反馈。
作者回复: 能自动化或者半自动化你的变更,能用python解决重复性的工作,能用web方式展示和操作你的系统更佳
作者回复: 希望有所收获!
作者回复: python原理的话,有《流畅的Python》,flask 、django 这类框架还是建议看官方文档,非最新版本一般有中文版,数据挖掘方面没有深入研究,不敢随便推荐
作者回复: 可以参考Scrapy模块使用ip代理池(ippool)的解决方法来实现