如何在短时间迅速提升Python功力?Python应该怎样去学习呢?

最近有一段时间没有看后台的留言,。昨天我打开后台一看有很多同学给我留言,其中有5条是问我关于如何快一点提高Python功力的相关问题~~

确实当你学了Python的一段时间之后会有一阵不知道如何更快的提高自己的功力。其实Python也是语言的一种,虽然语法很简单,但是内涵真的很丰富,招式非常的多。修炼武功我个人觉得分几个层次:

第一招是语法:算是基本功,熟悉一门语言,语法是最核心也是最基础的,你必须要熟练掌握.好像你学英语,词汇肯定是要有一定的量的.

第二招数据结构:然后你的代码会越写大,你肯定要考虑数据结构,比如你爬取一个网站,你有一堆信息,你如何抽象出来设计最佳的数据模型,减少代码的复杂度.

第三招算法:接着你继续写发现性能上需要优化了。比如处理百万级的数据,处理大量的文件的时候,要降低复杂度,对进程,线程间的调度,优化线程池的调度。

第四招设计模式:再往上走就需要架构,设计模式,提高自己额软件匠艺了,这时候你的代码量数万,几十万了你需要考虑用一些好的设计模式去封装你的代码,隔离子系统,然后提高代码的健壮性和可扩展性。

忽然发现话题有点拉远了,我们赶紧切回来,我觉得python语言跟其他语言一样都是需要一个积累的过程,这个过程是不能省的,但是确实有一些方法可以缩短这个过程,好比杨过在寒冰玉床上练功,内功比一般人要增加的快一些,下面分享几个我觉得比较好的方法(欢迎大家批评指正):

1.刷题

也许很多同学会反感,刷题我又不是学生,刷什么题啊,python有大量的精妙招式,你想灵活的运用必须大量做题,忽然觉得怎么和高中学数学是一个路数啊,确实这是快速提高你功力的捷径(没有之一)

下面推荐一下我刷过的网站:

1)Project Euler

是一个国外的网站,里面的题目从简单到复杂大概有500多个,有点像解数学题或者算法题,提一个问题然后你计算一下,最后告诉一个答案填进去,就会告诉你对错.很有意思,越往后越难.你可以在线看答对的人数,越往后人越来越少。

举个简单的题,比如:求200万以内的所有质数的和.

2)LeetCode

大名鼎鼎的LeetCode里面有大量的500强的面试题和算法题,要求也比较高,很多国内外的码农在上面刷题。难度从easy到hard都有,而且覆盖面极广,需要你的综合实力去答题。

最简单的题比如字符串的处理有的时候也要用到二分查找,二叉树,排序.我个人觉得看一些基础的算法书之后,刷题会好一点.有的时候考的不是编程,是你的智商。但是你可以看到别人的解决问题的思路,特别是一些常见的算法题

另外上面两个网站都是英文的,话又说回来想学编程,英语是必须的。最新的计算机技术最厉害的文档基本都是英文的.

刷题刷一段时间就可以,切莫贪心,因为有些很难的题目做不出来,会很郁闷的,会有很强的挫败感~~毕竟人外有人,天外有天,我们刷题的目的只是为了熟练一些招式.

2.Stackoverflow

国内的很多程序员以前都是喜欢上csdn,或者知乎,现在大家基本都上stackoverflow,我不是说前面两个网站不好,只是适合的群体不一样

比如python里面的一些问题,你百度一下发现很多回答都是类似的,不知道是不是互相拷贝,你很难有一些深入的针对性的解释

我现在习惯都上stackoverflow,stackoverflow所面向的问题更集中于编程开发方面.算是程序员中的知乎吧.而且里面有国外很多大牛给你回答,而且回答的都是很有质量的,关键有的时候还会给你推荐一些好的书.让你眼前一亮.(补充一下这个网站也是全英文的).

本文来自企鹅号 - 我爱Python媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

带你深入理解Python属性查找

今天扣丁学堂给大家介绍一下关于python视频教程中的属性查找,首先在Python中属性查找(attributelookup)是比较复杂的,特别是涉及到描述符d...

21290
来自专栏编程

python简单实现购物车功能

需求:1 启动程序,要求用户输入工资,打印商品列表。 2 允许用户根据商品编号购买商品。 3 用户选择商品后,检测余额是否足够,够就直接扣款,不够则提示余额不足...

30970
来自专栏向治洪

刷博客等流量

首先我们不建议刷流量,这里只是提供机械技术上的实现 -访客数量与ip无关,与cookie关,它对每个访问者给一个特定的cookie //就是说,只要清除cook...

254100
来自专栏编程

7步让你从零开始掌握Python机器学习!

这篇文章旨在通过7个步骤,将最少的机器学习知识转化为知识型实践者,所有这一切都在使用免费的材料和资源。这个大纲的主要目标是帮助你通过许多可用的免费选项; 有很多...

23590
来自专栏编程

Python文学化编程-Jupyter notebook使用和插件拓展

Jupyter notebook (Ipython notebook)是集代码、结果、文档三位一体的文学化可重复程序文档。支持40多种程序语言,Python为原...

42770
来自专栏编程

一个五年开发经验过来人谈如何自学 Python?

其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多底层的工作,可以...

23160
来自专栏向治洪

python 日期与时间

###python 日期与时间 (time,datetime包) [toc] #####概述 在应用程序的开发过程中,难免要跟日期、时间处理打交道。如:记录一个...

628100
来自专栏编程

基于micropython的数字滤波器

刚参加了昨天的硕士研究生考试,专业课考的信号与系统,报考学校今年出题出的有点偏,不是题型偏而是考察知识点有明显的偏重,简单说考纲里所罗列的考点最多只考了百分之三...

44060
来自专栏编程

机器学习巅峰之战,python最火,R最具潜力

关于哪种语言更适合数据科学的问题有一个非常热门的争论:R还是Python。答案是两个。人们经常比较R和Python的特性而感到困惑,但我们需要明白,单靠功能本身...

21180
来自专栏向治洪

POP3收取邮件

SMTP用于发送邮件,如果要收取邮件呢? 收取邮件就是编写一个MUA作为客户端,从MDA把邮件获取到用户的电脑或者手机上。收取邮件最常用的协议是POP协议,目...

46370

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励