【无删减】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 不会因为用户的操作而进行页面的重新加载或跳转…

交叉熵与相对熵

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

menustrip

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

什么是copyonwrite容器

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

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

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

spark mllib推荐算法使用

2019独角兽企业重金招聘Python工程师标准>>> 一、pom.xml <!-- 机器学习包 --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-mllib_2.10</artifactId><version>${spark.version}</version>&…

R语言的自定义函数—字符组合

前两天写了几个函数&#xff0c;对里面收获到的一些东西做一些记录。 函数str_comb&#xff0c;用于输入一个字符串或数值向量&#xff0c;返回由向量中元素组成的不重复的长度小于向量长度的所有组合&#xff0c;结果用矩阵形式输出。 函数使用结果如下&#xff1a; 思路很简单…

oracle group by 两项,Oracle中group by 的扩展函数rollup、cube、grouping sets

Oracle的group by除了基本使用方法以外&#xff0c;还有3种扩展使用方法&#xff0c;各自是rollup、cube、grouping sets。分别介绍例如以下&#xff1a;1、rollup对数据库表emp。如果当中两个字段名为a&#xff0c;b,c。假设使用group by rollup(a,b)&#xff0c;首先会对(a,b…

机器学习基石13-Hazard of Overfitting

注&#xff1a; 文章中所有的图片均来自台湾大学林轩田《机器学习基石》课程。 笔记原作者&#xff1a;红色石头 微信公众号&#xff1a;AI有道 上节课主要介绍了非线性分类模型&#xff0c;通过非线性变换&#xff0c;将非线性模型映射到另一个空间&#xff0c;转换为线性模型…

oracle执行计划的rows不对,Oracle执行计划——all_rows和first_rows(n)优化器模式

Oracle执行计划——all_rows和first_rows(n)优化器模式0. 环境创建[sql]SQL> create usertest identified by test2 default tablespace users3 temporary tablespace temp4 quota unlimited on users;User created.SQL> grant createsession, resource, alter session t…

从 MVC 到前后端分离

转载自&#xff1a;https://my.oschina.net/huangyong/blog/521891 从MVC到前后端分离 1.理解 MVC MVC是一种经典的设计模式&#xff0c;全名为Model-View-Controller&#xff0c;即模型-视图-控制器。其中&#xff0c;模型是用于封装数据的载体&#xff0c;例如&#xff0c;在…

在.NET中使用SMTP发送邮件

这是一篇转载&#xff0c;可能对大家很有用啊&#xff0c;放首页看看是否有参考价值。本文提到的方案仍然不能算是完全解决所有问题&#xff0c;最佳的dotNET下通过SMTP&#xff08;带验证&#xff09;发送邮件的机制是什么&#xff0c;不知道大家有什么好的看法&#xff01; …

LeetCode || Copy List with Random Pointer

A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list. 思路1&#xff1a;最傻瓜的方法是首先遍历一次建立next关系的新list。然后第二次遍历处理random关系…

京东布局消费物联网 聚合产业链共建生态

据Gartner发布的数据显示&#xff0c;到2020年&#xff0c;全球联网设备数量将达260亿台&#xff0c;物联网市场规模将达1.9万亿美元。如今&#xff0c;互联网已经从人与人的连接发展到人与物、物与物的连接&#xff0c;物联网时代带来。 5月9日&#xff0c;京东聚合三大运营商…

Shell编程 之 for 循环

1. 语法结构 2. 案例 2.1 批量解压缩 #!/bin/bashcd /root/test/ ls *.tar.gz > ls.log ls *.tgz >> ls.logfor i in $( cat ls.log )dotar -zxf $i &> /dev/nulldone rm -rf ls.log ~ …

8、linux上安装hbase

1.基本信息 版本1.2.4安装机器三台机器账号hadoop源路径/opt/software/hbase-1.2.4-bin.tar.gz目标路径/opt/hbase -> /opt/hbase-1.2.4依赖关系无2.安装过程 1).使用hadoop账号解压到/opt/hadoop目录下并设置软连接&#xff1a; [rootbgs-5p173-wangwenting opt]# su hadoo…

Mountain Number FZU-2109数位dp

Mountain NumberFZU-2109 题目大意&#xff1a;一个大于0的数字x&#xff0c;分写成xa[0]a[1]a[2][3]..a[n]的形式&#xff0c;&#xff08;比如x1234,a[0]1,a[1]2,a[3]3,a[3]4&#xff09;,Mountain Number要满足对于a[2*i1]要大于等于a[2*i]和a[2*i2]&#xff0c;给定范围l,r…

oracle虚拟机字符集,更改虚拟机上的oracle字符集

修改oracle上边的字符集,需要用到DBA数据库管理员的权限,再修改字符集时要注意到修改后的字符集只能范围变大(例如:当前的字符集是GBK,那你修改后可以是UTF-8就是说后者只能比前者大,不能小.因为字符集都是向下兼容的)步骤:第一步:使用DBA身份登录先以绕过日志的方式登录在以然…

mybaits自连接查询

看不太懂&#xff0c;先记录再查&#xff0c;有没有大大解释下 resultmap里的collection设置select字段&#xff0c;看着像递归&#xff0c;没见过这种用法&#xff0c;#{pid}从何而来&#xff1f; 转载于:https://www.cnblogs.com/haon/p/10808739.html

Ajax爬取豆瓣电影目录(Python)

下面的分析相当于一个框架&#xff0c;搞懂之后&#xff0c;对于类似的文字爬取&#xff0c;我们也可以实现。就算不能使用Ajax方法&#xff0c;我们也能够使用相同思想去爬取我们想要的数据。 豆瓣电影排行榜分析 网址&#xff1a;https://movie.douban.com/explore#!typemovi…