【无删减】Python老司机收藏夹的17个国外免费学习网站

用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言。如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。这是快速学习这门语言的途径之一。


许多程序员都把Python作为编程之旅的开始,然后是像PHP和Ruby这样的语言。它也是最热门的Web开发语言之一,并极力推荐学习。但是,Python应该怎么学呢?应该从哪里开始?


我来为你解决这个问题,因为我自己学习编程和开始做开发的时候也依靠了很多这里的资源。当然这仅仅是一个友好的建议,最好的方法还是通过实践去学习,这里推荐的一些书和资源只是为了指引你走往正确的方向。


刚开始学习的时候可能会特别令人沮丧,一旦你学完了基础,之后的东西对你来说就很自然了,你都不需要思考就知道要怎么做。


一、Learn Python The Hard Way (笨办法学Python)

d3hfZm10PXBuZw==

这本书绝对是学习Python最简单的方法。你会被如此简单的基础学习感到震惊,真实地感受到自己的学习历程,一步一步地获取新的知识。我也感到它非常鼓励学习者去尝试并创造出自己的程序。


代码可能会很少,但是它们肯定会有助于你更好的理解语言本身和语法。Python非常的流行,所以当你遇到了问题时,在类似Stack Exchange这样的网站里有可能会找到答案,遇到问题需要解决的话尽管地Google吧。


你会学到如何去:


  • 在全平台上安装Python环境

  • 写Python程序

  • 理解Python语法和文档

  • 像程序员一样思考

  • 还有更多的东西


本书的HTML在线版本是完全免费的,大部分人使用的都是在线版。我希望你购买完整的书或者给予一些捐赠,毕竟作者花了很大的力气来完成它。如果你感觉视频更容易学习的话,它的高级版里就包含了视频。


二、The Python Challenge

d3hfZm10PXBuZw==


如果你的编程生涯中从没做过这样的挑战,这可能会有点难度。但是配和上面介绍的那本书的话也不是很难,你应该尝试一下。它有33个关卡(谜题),你可以用Python编程技巧解决。


几百万的人都在试着解决这个,即使你不能完成所有的关卡,你也会将学到很多新的东西,尤其是批判性思维和发散思维。你的大脑会过热,但这是在编程!


三、Learn Python Programming @ Codecademy

d3hfZm10PXBuZw==


你可能看到许多“大牛”程序员骂这个网站,但那并不重要。我们想要做的是看看或者测试一门编程语言的基本语法是怎么执行的,以及调用函数时做了些什么,除了简单地输出‘Hello World!’。


在这个Codecademy的课程中你将会学到如何使用文件和循环,什么是函数以及他们能用来做什么。这些都是非常基础的,但是对初学者来说都是很好的东西。当需要帮助时有一个用来交流的论坛,但所有的东西都应该在你理解的范围之内。


你不需要安装任何工具,如果你想在你自己的电脑上重写一遍代码以便更好地理解它,你可能唯一需要的就是一个Notepad++编辑器。我就是这样做的,并且我向所有想学习编程的人都推荐Codecademy,不管是Python还是其他的语言。


四、Intro to Computer Science @ Udacity

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


Udacity提供了一个很棒的免费课程,引你进入Python编程和学习关于搜索引擎的许多东西,以及如何编写你自己的小型网络爬虫。它的确是一个值得参与的课程,并且还提供了额外的指导和社区支持。


你可以报名成为付费学生得到导师的指导,并且可以在课程结束得到一个证书,或者你可以自己使用免费的课件学习,遗憾的是付费课堂的容量有限,所以你申请后需要加入名单等待。


它总共有11个课程,每一个都有讲解非常深入的文档。去它的官方主页查看更多的信息或者你想问的问题的答案。


五、Google’s Python Class

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


Google它本身就被一大堆Python代码驱动着,只有他们提供社区支持并且愿意帮助其他人学习这门语言才更有意义。这是我曾经最喜欢看的指南和课程之一。它真的很详细,而且视频适合初学者,观看起来也很有趣。


去看几分钟它的第一堂课,看看你是否喜欢那个老师,然后决定是否开始学习Python!官方主页有这些练习题和例题的所有链接。


六、A Byte of Python

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


非常像LPTHW(笨办法学Python),但是在如何制定完整的学习计划并实施,以及如何迈出第一步上提供了更深层次的引导,而不会让你丧失自信心。对于那些想学Python的人来说它被认为是最好的初学者教程之一,当然你要先看看前几章,是否喜欢它的写作风格。


7、Think Python

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


Think Python是一个面向Python初学者的手册。它从编程的基本概念教起,非常详细地定义了所有第一次会遇到的术语,并且很有逻辑地展现新的概念。像递归和面向对象这样大一点的知识板块被分成了一系列更小的步骤,穿插于课程几个章节。


在这个链接里你会发现有大量的示例代码。它是最为专业的书之一,它有一个很严肃的原则: “像计算机科学家一样思考”。它需要将近40美元才能买到,但是你可以下载免费的PDF和HTML版本。如果从头开始学Python的话,肯定会从它上面得到好处。


8、Python at Learnstreet

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


你可能会想有个网站提供如何在他们页面上添加HTML代码的课程,哈哈。严肃一点地说,Learnstreet提供了很棒的Python交互式学习教程,就像这篇文章所说的所有东西一样,它对初学者非常友好。如果你遇到了问题,最好用Google去搜索。


我最喜欢Learnstreet的一点是每个练习后面都有许多提示和解释,显示在你编写代码的同一个界面里。


9、The New Boston

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


如果你更喜欢使用视频学习,我不确定是否还有比The New Boston的Python系列视频教程更全面的了,许多其他的编程语言也可以在他们的YouTube频道里找到。


它唯一的缺点就是没有可以阅读或者下载的资料,你只能看视频。我是那种不能忍受一直盯着视频看的程序员,这可能与我选择Google的Python课程有关,但它们实在太有趣了。


10、Python @ Coursera

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


这个课程是为从来没接触过编程的人准备的。你只需要小学的数学水平就可以了:懂简单的数学方程和算术优先级,以及像f(x) = x + 5这样的函数。


它在十周内应该可以学完,每周大概花10小时来完成课后作业。如果你有时间来做这个,并且不会感到很累,我推荐你注册并完成这个课程,它会巩固你的知识,并可以结合上面介绍的任何一个资源来更好地理解 Python。


11、Pythonspot

d3hfZm10PXBuZw==


Pythonspot是一个综合教程,划分了很多不同类别的知识板块,首先你将拥有初学者资源来帮你开始Python的学习,然后你继续保持前进你能学到更多关于使用Python开发web,创建图形界面,开发游戏的内容,到那时你可以准备学习一些更高级的板块,像网络等等。这些都在一个地方,非常容易使用。


12、Python Practice Book

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


从根本上说,这是Anand Chitipothu在他讲授Python课程时使用的资源,但即便你不与Anand本人一起学习,你仍然可以利用这个资源来获取Python在不同角度的见解,以及看到不同开发者的观点。


13、Python Tutor

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


我认为这是新手程序员近期能够上手的最好的项目之一,Python Tutor都是在教你当执行你写的代码时到底发生了些什么。清楚地了解到如何写一段程序,能够理解后台程序的每个命令都是截然不同的。你可以使用自己写的代码,也可以使用平台提供的代码。


14、Real Python

d3hfZm10PXBuZw==


虽然这是一个收费的资源,但最新的评论看起来还是相当不错的,所以不管怎样我决定加上这一条。在Real Python需要花费60美元来开始你的学习,将会有超过1300页的内容和10个多小时的视频供你访问,还包括以后可以免费更新。你能得到来自Real Python团队的导师的帮助,不过这需要额外的费用。以及博客里有适量与代码相关的教程能够给你帮助。


15、Full Stack Python

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


你能比较熟练地使用Python了,但是你不知道接下来该走什么样的方向?这个网络课程就是为你解决这个问题的,通过给你一个真正的项目去做,帮助你理解怎样用你学到的Python知识建立一个web应用程序和网站。学会怎样积累一些真正的知识。


16、Invent with Python

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


教你怎样使用Python创造一款你自己的电脑游戏。每章为你提供了一个新游戏完整的源代码,通过这些例子教你编程的概念。它在网站上可以免费阅读,或者在亚马逊购买。


17、PythonLearn

d3hfZm10PXBuZw==


你是一个对信息学感兴趣的家伙吗?整个网站的资源都围绕着确切的话题,所以如果你感兴趣的话,去看看可能会是一件好事。


18、Dive Into Python3

aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpei80


迟早有一天,大多数的东西都会使用Python3来构建,尽管Python2仍然非常稳定并被大量使用,但Python3在过去的两年里确实发展的非常完整了。这本在线书籍所有的内容都在帮助你理解Python3是什么,以及如何最好地掌握它。

在哪学习Python?


事实证明我自己尝试了这里大部分的课程,我其实希望有更多的资源和链接加入到这个列表里来,但我们只是看一下主要的,还有这么多的新知识是你需要学习的。你有什么编程经验?你想用你新学到的技能做些什么?我认为任何想建立专业知识体系的人首先应该明确自己想做什么,然后研究一个项目直到做完。这样做的好处是你会学到具体的东西,以后开发一个类似的项目会更容易。


互动平台是挺酷的,但它们还不能完全取代专业人士提供的书籍或课程。


来自:Geek情怀 - SegmentFault

链接:https://segmentfault.com/a/1190000004187319


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/393930.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iframe vue 前进 后退_vue常见面试题

1、说说你对 SPA 单页面的理解,它的优缺点分别是什么?SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转…

C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码

C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码 原文:C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码项目开始设计的是运行在windows下,所以一开始采用的是windows服务模式来获取多媒体文件信息,后来要求调整为…

如何用chrome扩展将网页变成黑底白字,用以保护视力

不知道有没有科学依据,自己感觉黑底白字对视力好些,于是动手加个chrome扩展: 第一步:建个文件夹,名称比如叫changeColor; 第二步:在changeColor文件夹中建三个文件:manifest.json 、 backgrou…

从零学习机器学习_机器学习:如何从零变英雄

从零学习机器学习以“为什么?”开头 并以“我准备好了!”结尾 (Start with “Why?” and end with “I’m ready!”) If your understanding of A.I. and Machine Learning is a big question mark, then this is the blog post for you. Here, I gradu…

sqoop动态分区导入mysql,使用sqoop import从mysql往hive含分区表中导入数据的一些注意事项...

先看下面这条语句,它实现的功能是将特定日期的数据从mysql表中直接导入hive$ sqoop import \--connect jdbc:mysql://192.168.xx.xx:3306/db_name?useSSLfalse \--username xxx --password xxxxxx \--query "select d.id, d.callsign, d.sobt from t_flight_b…

leetcode面试题 08.04. 幂集(递归)

幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。 说明:解集不能包含重复的子集。 示例: 输入: nums [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 代码 class Solution {List&l…

gatsby_我如何使用Gatsby和Netlify建立博客

gatsbyby Pav Sidhu通过帕夫西杜(Pav Sidhu) 我如何使用Gatsby和Netlify建立博客 (How I Built My Blog Using Gatsby and Netlify) 您能说出更具标志性的二人​​组合吗? ? (Can you name a more iconic duo? ?) Years ago, whenever I built a stat…

交叉熵与相对熵

熵的本质是香农信息量()的期望。 现有关于样本集的2个概率分布p和q,其中p为真实分布,q非真实分布。 按照真实分布p来衡量识别一个样本的所需要的编码长度的期望(即平均编码长度)为:H(p)。 如果使用错误分布q来表示来自真实分布p的平均编码长度…

menustrip

在对应菜单上点击鼠标右键,插入,SEPARATOR 就可以了,然后可以选中拖动位置。转载于:https://www.cnblogs.com/Echo529/p/6382302.html

直接排序

题目:使用直接排序法将下列数组(从小到大排序)思路:第一次:使用索引值为0的元素与其他位置的元素挨个比较一次,如果发现比0号索引值的元素小的,那么交换位置,第一轮下来最小值被放在…

leetcode78. 子集(回溯)

给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 代码 class Solution {pub…

php字符串综合作业,0418php字符串的操作

实例字符串函数(一):长度计算$siteName php中文网;//获取内部字符编码集$encoding mb_internal_encoding();//1、strlen($str):获取字节表示的字符串长度//utf8模式下,一个中文字符用三个字节表示echo strlen($siteName),; //12//2、mb_strlen($str,$encoding)&…

如何处理JavaScript中的事件处理(示例和全部)

In this blog, I will try to make clear the fundamentals of the event handling mechanism in JavaScript, without the help of any external library like Jquery/React/Vue.在此博客中,我将尝试在没有任何外部库(例如Jquery / React / Vue)的帮助下阐明JavaSc…

js 图片预览

//显示选择的图片缩略图function showImage(inputId,imageConfirmId,imageConfi){var imagedocument.getElementById(inputId).value.toLowerCase();if(!image){return;}var fileExtendimage.substr(image.lastIndexOf(".", image.length)1);if(!(fileExtend"jp…

什么是copyonwrite容器

2019独角兽企业重金招聘Python工程师标准>>> CopyOnWrite容器即写时复制的容器。通俗的理解是当往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素…

hystrix 源码 线程池隔离_Hystrix源码学习--线程池隔离

分析你的系统你所认识的分布式系统,哪些是可以进行垂直拆分的?拆分之后系统之间的依赖如何梳理?系统异构之后的稳定性调用如何保证?这些都是可能在分布式场景中面临的问题。说个比较常见的问题,大家都知道秒杀系统&…

P2341 [HAOI2006]受欢迎的牛 强连通

题目背景 本题测试数据已修复。 题目描述 每头奶牛都梦想成为牛棚里的明星。被所有奶牛喜欢的奶牛就是一头明星奶牛。所有奶 牛都是自恋狂,每头奶牛总是喜欢自己的。奶牛之间的“喜欢”是可以传递的——如果A喜 欢B,B喜欢C,那么A也喜欢C。牛栏…

oracle em agent,ORACLE 11G EM 配置命令及问题处理

11g装好以后,一直未用EM,昨天晚上和今天晚上终于抽时间把EM启动起来了,还遇到一点小问题,1.EM配置的一些命令创建一个EM资料库emca -repos create重建一个EM资料库emca -reposrecreate--------这个很主要,一般第一次不成功创建的时…

leetcode89. 格雷编码

格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。 格雷编码序列必须以 0 开头。 示例 1:…

注重代码效率_如何提升质量:注重态度

注重代码效率by Harshdeep S Jawanda通过Harshdeep S Jawanda 如何提升质量:注重态度 (How to skyrocket quality: focus on attitude) When it comes to discussing quality and how we can improve, the most common things that come to peoples minds are test…