Python到底有多火?它的应用领域有哪些?动手编辑代码时感觉无从下手怎么办?1月6日新智元小程序【大咖专访】栏目特邀16本Python系列教材作者董付国教授,深度揭秘「如何编写有"Python味道"的Python代码?」 直播中,新智元小程序用户参与度超高,反响强烈,我们也精选了一些互动问答共同与大家分享。
一开场,董老师就告诉我们一个"终极真理",敲代码一定要思路先行,而使用Python编程,一定要用最直接的思路考虑和解决问题。
比如缩进,同一个级别代码块的缩进量必须相同,一般以4个空格为基本缩进单位;而每个import语句只导入一个模块,最好按照标准库、扩展库、自定义库的顺序依次导入。此外还包含必要的空格与空行,如运算符两侧、逗号后面建议增加一个空格。
Q1、关于必要的空格,老师能不能总结下?
董老师:运算符两侧和逗号后面可以增加一个空格,调用函数和方法时括号内参数赋值的参数名和值之间可以没有空格。
标识符命名错误、函数或方法使用错误、惰性求值对象用法错误等编程中常出现的12个错误全盘奉上,保你实战中少犯错。
董老师:不用纠结版本,直接使用3.7以上就可以了,最新的几个版本之间区别不是很大。
Q3:老师可以简单说下类的浅拷贝和深拷贝吗?
董老师:深拷贝时一直递归到可哈希的值,浅拷贝是只复制一层。
直播中,针对编程语言中严格规定的不同运算符的优先级,董老师给出了各种运算符的优先级顺序,但并不建议记忆这些顺序,而是在适当的位置使用括号来说明表达式的计算顺序,增加代码可读性。
目前,Python已经渗透到了系统安全、科学计算可视化、逆向工程与软件分析、人工智能、网站开发、数据爬取与大数据处理、系统运维、自然语言处理、电子电路设计、游戏设计与策划、移动终端开发、树莓派开发等几乎所有专业和领域,其特点在于易学易用、语法简洁和强大的标准库和丰富的扩展库。
Q4、董老师您好!想请教您一个关于多个文件读数据的问题。我有若干个大文件(每个文件几千万行)中的数据需要提取分析,我现在用readlines方法一次读取整个文件的内容,发现内存占用太多,但是用readline一行行读数据处理,速度特别慢。请问老师有什么方法推荐吗?
董老师:直接使用for循环遍历文件对象即可
Q5、用python做数据处理时,经常会用到切片索引,但切片索引很容易混乱,请问老师有没有什么好的方法简易清楚?
董老师:切片记住3个数字的含义,再注意是左闭右开区间就可以了。
Q6、老师可否出个Python的学习路线,python全栈工程师方向的!另外想请教一下老师,对一份银行微博语料想做一个线上和线下的区分,老师有没有好用的模型推荐,谢谢老师
董老师:永远都不要相信全栈,那都是忽悠人的,一个人能做好两三个,就很厉害了。线上线下区分的关键应该是数据的实际组织形式来制定规则。
Q7、有个问题想请教下董老师,Python目前在各大领域势头都很猛,但同时也展现了他适用范围的广泛。作为一门语言,在未来一段时间,他依然保持这样良好的势头吗?另外,因为太过多样性,我们处在不同领域,该怎样抉择自己使用的部分呢?害怕难以看到全局,在部分功能中跌跌撞撞
董老师:在未来几年是没问题的。Python扩展库太多,一定不要试图全都学会,要结合自己工作需要去学习特定的扩展库就行,够用就好,按需学习。
最后,董付国老师表示,使用Python时应以快速解决问题为目的,不可在语言细节上浪费太多时间,并大家奉上一系列优雅的代码欣赏:
想要获得董付国老师完整PPT的朋友,请添加新智元小助手微信:Xzy_Xiaoxin
【下期预告】本周四,新智元小程序大咖专访第二期即将上线,本期公开课聚焦"推荐算法",特邀腾讯微信人工智能高级研究员阙文晖,教你从0到1搭建算法推荐系统架构。