初学者如何学习python?如何快速从Python小白到初级Python工程师?

Python012

初学者如何学习python?如何快速从Python小白到初级Python工程师?,第1张

制定目标

我的学习历程:我想免费学习Python,因此我必须养成每天的学习习惯(每天4个小时),甚至要利用我的周末。我的总体规划是设定目标并追逐目标。我为7个星期设定了7个目标!

第1周

我的第一周目标-(Python基础知识)作为初学者,我们的第一周目标应该是-熟悉Python基础知识,例如变量,条件,列表,循环,函数。(好奇并探索您可以使用Python进行的操作)。由于我想免费学习python,所以我开始在互联网上进行挖掘,幸运的是发现了一个Python备忘单,对我有很大帮助。

第2周

第二周目标-(提高我的编码能力)解决100多个编码问题。反向字符串,回文,GCD,合并排序数组,If-then-else语句,循环,函数和python软件包问题。“越努力,您就会成为更好的开发者”

第3周

第三周目标-(了解数据结构和算法),提升您的技能和知识,并学习基础知识,例如堆栈,队列,元组,树,字典,链接列表,搜索(线性和二进制搜索),递归函数(阶乘,斐波那契数列),排序(气泡排序,选择排序)和时间复杂度(线性,二次和常数)。

第4周

第四(探索Python库)Python之所以在开发人员中如此受欢迎,是因为其令人赞叹的库可供用户使用。您可以使用的一些最常见的库是Numpy,Scipy,Scikit-learn,Theano,TensorFlow,Keras,PyTorch和Pandas。

OpenCV是计算机视觉库,可为您提供图像处理功能!很酷吧?

SimpleCV,另一个CV库,本质上是OpenCV的子集,但学习曲线要低得多。

我发现个惊人的博客约有56个Python库。

PyGame,一个游戏开发库,可让您制作出色的游戏。

第5周

第五周目标-(学习Python框架)您必须学习至少3个流行的框架。阅读框架文档,在B站上找到视频教程。必须以Numpy,Django,pandas和Scrapy开头。

Django-一个Web应用程序框架。从这里您可以学习Django。

Flask(Python Microframework),另一种流行的Web应用程序框架,更加扎实(因此更加灵活)的Web应用程序开发方法

第6周

第六周目标-(从事Python项目)这是最重要的。在这里,您必须测试并应用您的知识。在第6周,您要做的就是至少处理3个python项目。我知乎分享了我以前的答案,您将在这里获得一些适合初学者和中级学习者的出色python项目:使用Python构建的一些出色项目?

第7周

第七周目标-(Python面试练习)恭喜!现在,您拥有在全球任何一家技术公司中申请任何软件工程工作所需的资源。现在,练习您的软技能,并尽可能练习面试问题。

因为你的代码里每次递归调用fib都重新生成了memo

没有起到“备忘录”的作用

应该让memo定义在fib外,这样每次递归就可以利用之前已经计算过的结果了

具体代码如下所示:

def fib(n):

  memo = [0 for x in range(n + 1)]

  return helper(memo, n)

def helper(memo, n):

  if memo[n] >0:

      return memo[n]

  if n <= 2:

      memo[n] = 1

  else:

      memo[n] = helper(memo, n - 1) + helper(memo, n - 1)

  return memo[n]

print(fib(100))

python3编译通过,fib(100)运行结果为: