猿问

遇见好答案---Python编程问答专场


Python天生有着开发效率高,部署简单,跨平台等诸多优点,

与Java,C,C++一起成为全球前4大最流行语言。 

So,人生苦短,我用Python

有其他语言编程经验的人,1周内能学会Python基础的内容。


但大部分新手仅仅在Python语法和API层面体验了下,

是无法在实际上胜任工作岗位的!!


随意列举这些的高级Python编程知识点 ↓↓      你可知多少?!

http://img.imooc.com/5845225800014fef03330466.jpg

不懂肿么办?别担心,资深开发工程师告诉你python学习进阶的秘诀。

有问题,就赶紧来提问吧~~


http://img.imooc.com/584524650001453b04020241.jpg

刘硕   资深开发工程师

曾就职于全球领先的半导体公司Freescale、清华大学信研院等知名企业及研究机构。

是国内著名开源项目skyeye中Python架构的贡献者。

具有多年开发及教学双重经验,在慕课网录制了《Python高级编程技巧实战》,点击查看

该课知识点透彻,深受Python学习者的喜欢



  • 在评论区块,发布一条问题并在描述中 @刘硕老师

  • 活动时间:2016年12月6日--12月8日


提问之前希望:

你的问题是关于Python编程技巧、学习进阶相关问题,且描述问题要详细;

千万别再问:Python学来干什么,这个问题慕女神来回答亲(づ ̄3 ̄)づ╭❤~

Python的应用几乎无限制,不仅能在服务器编程、web应用有所作为,

甚至基于Python的数据分析、测试,机器学习都被广泛的运用在行业中。


 

          大家好,很高兴能来到慕课网和大家就Python编程的话题进行交流。


         虽然Python的简洁易用,快速开发对项目有价值,但这不是你的价值,是Python的价值。要想不被代替,你需要的是精进,向更高级的Python进阶。通常自称一个月光速学了会Python的人基本都不是天才,只是浮躁,目标定的比较低而已。不要太过急功近利,慢慢玩, 精进。

         如果你觉着编程有趣,成长也就不再痛苦, 祝学习愉快。


慕女神
浏览 18864回答 51
51回答

tanhouyusheng

@刘硕老师 我现在在做一些简单的项目,一般用的就是python,本来以前c++用的比较多,现在用过python之后觉得python真的很简单,很简单而且不容易出错,我现在就是做的主要是类似爬虫的探测工作,以及探测得到的数据的比较和存储,虽然没怎么用到那些各种各样的库以及装饰器之类的看起来高大上的东西,但是我用的还是挺(。・∀・)ノ゙嗨的。其次,我还曾经试着搭建过hadoop的环境,但是mapreduce程序使用python写的因为简单。下面是我的问题1、我这样用合适吗,2、我有个同学跟我说他们做爬虫用java说python不稳定,是这样的吗,我需要注意些什么3、虽然用的很多,心里还是挺没底的,我对底层了解的并不深入,这么简单,会不会有什么后顾之忧。4、Python的最适合做的是什么。    顺便说一下我的理解,我觉得语言不是那么重要,只要能实现相对应的功能就可以了,但是现在好多问题好像都有主流的语言,比如hadoop用java,opencv应C++,这不是主要的,关键是处理的速度与用户感受还有思想。

inottn

@刘硕老师 很感谢有这么个机会可以和老师交流,我学python是想用作后端开发。我想知道Python 与PHP 作为后端服务的编程语言各有什么优劣?Django和Flask这两个框架让我难以取舍,我感觉Flask像是轻量级框架,使用起来更为自由。Django则相对全面。我想知道对于目前这两个框架国内使用率如何,以及作为初学者,更适合先学哪个框架。另外,学python也有一段时间了,现在语法都会了,看别人的代码也能看得懂,但自己做小项目的时候总感觉缺了什么,想请教老师,这个时候应该做些什么突破自己。最后在感谢一下老师。希望能从老师的回答中得到启发。

小叶柏杉

@刘硕老师我现在自学python,和C/C++以及算法,我今年刚刚毕业的学生,因为工作不好找,我就选择了测试这个行业,并且很快进了一家公司实习,并且留在了公司。但是我不想一直做测试,毕竟我也是计算机专业的学生,上学中也学过编程,但是学的不够深,只是浅浅教我们一种语言的语法,如何使用之类的,但是实际去编程根本不行。所以我现在, 在上班之余自己再重新学习。我想问老师1.python为胶水语言,它到底是一个脚本语言还是可以作为一个单独的编程语言?2.是否能用python单独的写出一个大型的程序么?3.我还会C/C++,这两种语言可以相互配合么,成为程序中的主力,成为一个结构么?要达到什么样的标准?4.再说些现实的东西,学会C/C++和python这两种语言好找工作么?5.除了自学算法和数据结构,还需要再学些什么,才能成为一名资深的工程师?谢谢老师了,一定给我解答啊。

小毛同学

@刘硕老师 关于Python的学习,你建议是先通读一本教程再开始实践呢还是在实践中查漏补缺式的学习?

起个名字真他么难

@刘硕老师现在算是刚刚接触python学习 因为学习网络安全,python是个很好编程语言,但是平常自己所写出的脚本,感觉代码太过冗杂,看了一下别人的脚本很简单的就解决了一个问题,那么请问老师怎么样才能够写出简洁、高效的脚本程序呢?还有如何控制好自己的程序对内存、cpu资源的调度?望刘硕老师能解答疑问

孤独的小猪

@刘硕老师,老师你好,我现在自学python有三四个月了,前段时间出去面试python,发现有好多基础都不会,例如面试问到的map,reduce、生成器这些,而且我发现,我在做web开发中基本都没有用到这些东西。平常看文档学习的时候,map,reduce这些简单用法也都知道。但是实际项目中发现根本用不到这些东西,过了一段时间,这些基础又全部忘掉了。搞得很迷茫啊。

Zeroinger

@刘硕老师老师好,我是一名大三学生,其实我最开始学的语言是c,因为参加ACM的原因,平常常用C++,出于兴趣吧,自学了Python,平常用来在乌班图上写一写脚本,上周还写了一个爬虫来获取课程实验所需要的测试文件(大量英文单词),我的感觉就是Python短小精悍,但是感觉入门容易,提升有点困难,我就想问一下,如何系统的提升Python功力,有什么好的项目推荐?Python有哪些库我应该掌握?因为我感觉自己就是无从下手,网上的答案千奇百怪,五花八门,希望老师能指导一下。

Arey_jy

@刘硕老师请问您的学习方法是什么呢?不管是哪一门语言,如何浅出深入呢,请教!!现在大多数语言都只是在应用层阶段,如何能像您一样做一名开发工程师呢?

LeungADa_StudyHard

@刘硕老师  您好,零基础学python,之前没有任何编程基础,现在已经刷完笨方法,核心编程快要完结,之后想做Web,请问接下来该学习哪些知识??python部分如何进阶??我想很多零基础学python的同学跟我有同样的问题,麻烦您抽空回复一下,谢谢

慕粉1472929484

@刘硕老师 您好,能请教下关于java和Python在爬虫方面,两者之间各有什么优势?

junlz

@刘硕老师前段时间公司的一个平台要做数据迁移,因此需要编写迁移脚本,我本身一直在用PHP进行开发,正好在慕课网看到了您的课程,果断买下进行学习。还真的解决了不少实际的问题,比如字符串的一些处理等等。再次表示感谢!我也有几个问题需要请教您第一、PHP开发我用了两年多了,基本上一直在用框架写。(PHP感觉水平也就那么回事)目前的公司会经常写脚本而且都是要求凌晨执行的那种,您的课程我目前还没有看完,我想问问您怎样结合Python和PHP去深入学习?我不想那种语言都学的不够深入,最后影响自身的发展。第二、工作中也会常用到一些Shell脚本来分析log文件,通过接触Python也感觉到他比Shell处理某些log文件要方便的多。关于shell和python的学习我也想听听您的一些建议,因为我对他们的了解不够深入。第三、Django、Flask等框架建议怎样去学?第四、自己关于编程的学习方式一直是这样的   在学完PHP后,自己再去了解别的语言基本上就是 先了解基础知识--> 然后找个博客啥的小应用练习一下,发现基础学的不够扎实,再返回来学不扎实的地方。-->然后再去找个项目啥的去做 -->再去补漏基础知识。 如此反复    不知道这样的学习方法你苟同吗?  自己感觉收获不是很好,或者您有什么好的建议

唯有我最酷

@刘硕老师 我是一名普通二本的学生,学校教java和c++但是局限于语法,所以自学了Python当作自己语言,但是Python有好多地方感觉不尽如人意,代码本身阅读无问题,想问问是继续学习第三方库还是自己造轮子,Python的算法是不是会显得鸡肋点,感觉在大的项目上,Python不如c++,大多的算法和数据结构又都基于cc++java为主,当然伪代码也是

time_is_everything

@刘硕老师 老师您好,Python作为一个代码简洁的语言,尤其是在web方面,而我学习的是java web方面的知识,经常在面试要求上看到会java的同时也要熟悉一门脚本语言,例如Python,这样的要求是为了在web端与java相辅相成吗?还望老师解惑……

wangaaty

@刘硕老师 其实平常也在群里问问题,老师和群里的朋友都会耐心解答,就不在这里问问题了,刘硕老师的课是我在慕课买的第一门课,里面的讲解让我知道了原来python还可以这样用,受益匪浅,非常感谢老师,希望慕课越办越好,刘硕老师推出新的课程,造福pythoner~

qq_侨_0

@刘硕 老师您好!身为一个初学者python的优雅和简洁很吸引我。但是,老师我的问题是作为一个后端语言python的弱点是什么?因为我看到的各种课程都是介绍python好处,却很少有人告诉我python的弱点。语言各有所长,我想多了解一下python,趋利避害提升效率,希望刘硕老师能够帮我解答,多谢!

DangCode

@刘硕老师今天真是机会难得,以前学python的时候有个问题,百度了好多,问了好多群,至今还压在心底没有解决。都是关于编码问题的。在pyhton中经常会有’\u‘开头的编码 这个编码是不是python编译器实现的unicode编码,除了python在别的语言里是不是也有这种编码 还是这个是python独有的。在python3中,编辑器编辑的代码都是utf-8编码,如果定义了一个字符串变量,那这个字符串肯定是utf-8编码,编译器在处理这个字符串的时候是不是先转换成‘\u’形式的unicode编码,然后在按照需要进行处理或者解码成其他的编码。在python2中,编辑器编辑的代码编码是根据编辑器设定的编码,如果设定的为utf-8,也定义了一个字符串变量,字符串要是加个u那是不是编译器就直接存储为’\u‘那种格式的unicode编码了,不加u就存储为utf-8了除了字符串变量,编辑器里的其他的字符,比如关键字字符 def 或者变量名字符,这些文本上的东西被编译器编译的时候是不是也都先转换成'\u'形式的编码,在处理。编译器内部怎么运行的实在没办法看到,只能通过一些现象进行推测了,这些问题都是当初学习的时候的思考的一些问题,虽然对使用python并没有啥大的影响,但是今天机会难得,希望老师给解惑,谢谢。

DangCode

@刘硕老师今天碰上一个问题 在字典解析中无法使用三元运算符 list_data=[ _ for _ in range(10)] #此段被注释起来的代码语法错误 不知道怎么样才能正常工作 # dict_data = {k:1 if k%2==0 else k:2 for k in list_data} #此段代码是变相实现上边那个代码 这中实现方式在效率上比上边的低么 dict_data = dict([(k,1) if k%2==0 else (k,0) for k in list_data]) print(dict_data)问题在注释了 1:如和在列表解析中用三元运算符2:两种实现方式在效率差多少谢谢老师

艾尔森

@刘硕老师,我是一名软件工程的学生,然而我认为每天跟随课堂学习那些知识并不能完全满足我的好奇心,所以我开始不断的学习各种有趣的语言,之前有自学php 后来现在又开始在自学python(因为学校培养计划都没有这几项),但是我一直有一些问题: 您觉得我应该要先学一种语言学精?还是像这样先不断的尝试自己的兴趣,再向自己的兴趣进发?还有在学python的过程中,有时会像课堂那样,学完一个知识点后尝试做一个小项目来巩固,在做项目的时候会有很多不了解的地方,我通常会去百度,但我还是依然不知道在学习python的过程中是以知识点驱动项目(学习很多的知识然后不依靠外界自己完成项目)好还是以现在这样以项目来驱动知识点(在做实验的过程中学习更多的知识)好?最后是近来发现的一个问题,现在主流的python版本有2.7和3.5 但是有些课程会告诉我们2.7会被逐步的替代,而有些课程却依然使用2.7的函数和语法等 老师的建议是什么呢?

NoBB_

@刘硕老师关于Python的运行效率优化问题,程序员应注意些什么,能做些什么?

进击君

@刘硕老师 老师您好,对于因为业务导致的长期、间歇性用户并发量突增的网站,如果使用python开发,需要在开始之前做些什么设计?
点击加载更多
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答