献给第一次接触python的学者

(1)Python是什么?

Python的标志。Python的徽标是Python软件基金会的商标。

Python是以英国喜剧团体Monty Python的名字命名的,是一种解释性的、交互式的、面向对象的编程语言。它的灵活性让它可以做很多事情,无论大小。Python可以用来编写简单的程序,但它也拥有创建复杂的大型企业解决方案所需的全部能力。Python的一些使用方式包括:

桌面图形应用程序开发,包括游戏;

数据的数学和科学分析;而且,

网络和互联网的发展。

Python在计算机编程领域的存在随处可见。例如,Python在一些世界上最大的互联网站点中被使用,比如Reddit、Dropbox和Youtube。流行的Python web框架Django支持Instagram和Pinterest。卢卡斯电影公司的获奖视觉特效公司,工业光与魔术,使用Python帮助使他们的魔术成真。

人们很容易忘记Python有多么强大,因为它很容易学习。

Python的属性

Python是……

强类型。例如,它强制数据类型,这样您就不能将字符串和整数连接起来。

动态,隐式类型。因此,您不必显式声明变量数据类型。数据类型是在运行时强制执行的。

大小写敏感的。例如,令牌和令牌是两个不同的变量。

面向对象的。一切都是对象。

(2) Python -预科

Python是免费的开源软件,可以在Linux、Mac、Windows和其他各种平台上运行(总共21个)。它预装在Mac和大多数Linux发行版上;但是,您可能需要下载最新的版本(见下文)。

要检查您的版本,请打开终端并运行以下命令:

SHELL

python -V

选择Python版本

对于新手和经验丰富的程序员来说,在Python 2或3之间做出决定可能会令人困惑。幸运的是,两者之间的语法差异很小,你可以在你的计算机上运行这两个版本。

目前,Python有两个主要版本 - 2.x和3.x.

在获得新特性和功能方面,只有3.5.x版正在积极开发中,而Python 2.7.x以及3.2.x到3.4.x仍在积极维护。

哪个版本适合您?嗯,这取决于你。老实说,在这个早期阶段,两者之间几乎没有什么区别,所以要么选择就足够了。另外,一旦你学会了一个,学习另一个并不困难。

一般来说,如果你刚刚开始学习Python,请使用3.4.x,因为它是一个更好的版本,因为它增加了一些功能以及大量的bug修复和改进。但是,2.7x对第三方库的支持更多。如果您知道您需要使用尚未移植到3.4.x版本的库,那么最好从2.7x开始。

本系列中的示例将在3.4.2版本中显示,该版本是撰写时的当前版本。也就是说,大多数示例都适用于任何一个版本,因为添加到3.4.x的许多功能和更新也添加到2.7.x.我们将讨论您出现时应该注意的任何差异。

(3)如何获得Python?

无论您的操作系统是什么,您都可以从Python软件基金会(Python Software Foundation, PSF)下载Python。获取特定于您的操作系统和处理器的版本(32位或64位)。

使用说明:

Mac:我强烈建议使用自制程序来安装和管理不同版本的Python。看看这里的说明。您还可以从PSF下载Python。

Linux:同样,Python也包含在各种Linux版本中。如果需要,请确保使用包管理器升级到最新版本。

Windows:直接从PSF下载Python。

Windows用户:确保在安装过程中选择将Python添加到系统路径的选项:

(从下拉列表中选择“将安装在本地硬盘上”选项。)

(From the drop-down select the option, “Will be installed on local hard drive”.)

(4)确认Python安装

让我们快速进行健全性检查,以确保正确安装Python。

Python Shell

打开Python Interactive Shell:

Mac:打开终端并运行:python或python3,具体取决于您的安装。

Linux:打开终端并运行:python

Windows:如果只安装了一个版本的Python,只需运行python。 如果您同时安装了Python 2.7和Python 3,请运行python for Python 2.7和/或py -3 for Python 3。

Windows用户:确保您的帐户具有管理权限:右键单击命令提示符图标,然后选择“以管理员身份运行”,在提升级别运行命令提示符。

交互式Python Shell应该打开,您的命令提示符或终端窗口应该类似于:

python

Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)

[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

当你在这里的时候,你不妨运行你的第一行代码……

Python 2:

>>> print "Python is fun!"

Python 3:

>>> print("Python is fun!")

如果你运行的是python2版。在Python 3.x中,print命令是一个语句而不是函数。

您应该看到:

Python is fun!

就是这样:你刚刚编写了你的第一个Python程序!每次输入一行,Python就立即执行语句,在引号之间显示值。

完成之后,可以使用exit()离开Python Shell。或者:

Mac和Linux用户:Ctrl+D,然后按回车键

Windows用户:Ctrl+D,然后按回车键

保持终端或命令提示符打开。我们还有很多事情要做!让我们在运行Python原语时继续使用Shell。

(5)语言原语

在本节中,我们将研究Python编码原语——变量、内置数据类型、注释、语法和语义。

变量

变量是数据的容器。声明它们的语法是:variable_name = variable_value。虽然您可以为变量命名任何东西(除了一些保留的关键字),但是您应该使用直观的命名方案。变量名应该提供一些指示,说明赋给它的值是什么。

例如,许多新编程人员使用简单的变量名,如x和y。相反,如果你有两个数字——比如1和52——使用变量名num1和num2,而不是x和y。这样,当其他人阅读你的程序时,他们可以有根据地猜测num1和num2可能是某种数字。当你写程序的时候,想想别人,还有你未来的自己。你未来的自己会感谢你的。

内置的数据类型

Python有许多内置的数据类型,比如数字(整数、浮点数、复数)、字符串、列表、元组和字典。

每一个都可以使用:

运营商

功能

数据类型的方法

一定要把每个例子都和我一起打出来。

数字

数字可以是整数、浮点数、布尔值或复数。前三种是最重要的:

整数是整数- 1 2 22 476 -99999

浮点数有小数点- 1.0、2.22、22.098、476.1、-99999.9

布尔值表示真或假(或1或0),它们表示的数据只能是一种或另一种。

操纵数字

运营商

你见过运营商。它们就像加法(或连接)和减法,就像你在小学学到的。

python

>>> 2 + 3 # Addition

5

>>> num1 = 10

>>> num2 = 9.99

>>> num3 = num1 + num2

>>> num3

19.990000000000002

>>> 8 - 5 # Subtraction

3

>>> 2 * 6 # Multiplication

12

>>> 12 / 3 # Division

4.0

>>> 7 % 3 # Modulus (returns the remainder from division)

1

>>> 3 ** 2 # Raise to the power

9

让我们来测试一下您的预代数技能,看看比较,它计算布尔值——例如,真或假(或1或0)。

>>> 2

True

>>> 4 > 10

False

>>> 3 >= 3

True

>>> 5 == 6

False

>>> 6 != 9

True

功能

Python为您提供了许多用于操作整数的内置函数。这些对你来说总是可行的。请注意:这些函数可以用于任何数据类型。Python标准库中也有一些模块可用,比如math。要使用与这些模块相关的函数,首先必须导入模块。不仅仅是这样。现在,让我们来看几个内置函数的例子。

浮点()——给定一个整数,这个函数返回一个浮点数。

python

>>> float(9)

9.0

>>> float(-99999)

-99999.0

int()——给定一个浮点数,这个函数返回一个整数。这个函数不会将输入(上限)四舍五入到最接近的整数——它只会在小数点(地板)后抛出任何东西并返回数字。10。6的输入返回10,而不是11。同样,3.25返回3。

python

>>> int(10.6)

10

>>> int(3.25)

3

数据类型的方法

除了函数之外,还有许多数据类型方法与每种类型的数字相关联。

is_integer() -测试一个浮点数是否有限。

python

>>> (10.0).is_integer()

True

>>> (10.1).is_integer()

False

字符串

字符串是用单引号或双引号声明的文本行:

>>> simple_string = "hey!"

>>> simple_string

'hey!'

>>> "hello world!"

'hello world!'

>>> escaped = 'can\'t'

>>> escaped

"can't"

>>> not_escaped = "can't"

>>> not_escaped

"can't"

操作字符串

运营商

像数字一样,你可以连接字符串(字符串连接):

>>> "happy" + " " + "birthday"

'happy birthday'

>>> "my name is " + "john"

'my name is john'

功能

让我们来看看几个适合用于字符串操作的函数:

len()——给定一个字符串,这个函数返回它的长度。

>>> len(name_string)

15

slice()——给定一个开始和结束值,就可以访问一组或单个字符。

>>> print("Hello"[2])

l

>>> print("Hello"[3])

l

>>> print("Hello"[0])

H

>>> print("Hello"[0:2])

He

数据类型的方法

虽然我们将只讨论一些数据类型方法,但请务必检查完整的Python文档,因为您应该了解许多重要的函数。

string. capital() -返回首字母大写的字符串。

>>> lower_case_string = "michael"

>>> lower_case_string.capitalize()

'Michael'

>>> ("empire").capitalize()

'Empire'

format()——可以很容易地将值格式化为字符串。

>>> name = "John Doe"

>>> greeting = "My name is {}".format(name)

>>> greeting

'My name is John Doe'

string.strip() -返回去掉前、后空白的字符串。

>>> are_you_happy = " Yes "

>>> are_you_happy.strip()

'Yes'

列表

列表(在几乎所有其他编程语言中都称为数组)将各种类型的数据组合在一起。

create_a_list =[]

numbers_list = [1,2,3]

strings_list = ["spam", "eggs", "cheese"]

mixed_list = ["Hello", [1,2,3], False]

如上所示,列表可能包含任何数据类型(您也可以混合和匹配),包括其他列表或什么都不包含。您可以访问列表的某些部分,就像带索引的字符串一样。语法是一样的:

列表

列表(在几乎所有其他编程语言中都称为数组)将各种类型的数据组合在一起。

create_a_list =[]

numbers_list = [1,2,3]

strings_list = ["spam", "eggs", "cheese"]

mixed_list = ["Hello", [1,2,3], False]

如上所示,列表可能包含任何数据类型(您也可以混合和匹配),包括其他列表或什么都不包含。您可以访问列表的某些部分,就像带索引的字符串一样。语法是一样的:

您可以从列表的开头或结尾访问元素:

> > > numbers_list[0]

1

> > > numbers_list(0:1)

[1]

> > > numbers_list[0:2]

[1,2]

看看你是如何通过访问元素来创建一个新列表的:

>>> numbers_list = [1, 2, 3, 200]

>>> new_list = numbers_list[0:3]

>>> new_list

[1, 2, 3]

倒数最后一项的负索引:

>>> strings_list = ["batman", "superman", "iron man"]

>>> strings_list[-1]

'iron man'

如果将一个列表嵌套在另一个列表中,可以使用多个索引访问内部列表:

>>> mixed_list = ["Hello World", [4, 5, 6], False]

>>> mixed_list[1][2]

6

操作列表

运营商

列表可以连接:

>>> fruits = ["apples", "grapes", "oranges"]

>>> veggies = ["corn", "kale", "mushrooms"]

>>> grocery_list = fruits + veggies

>>> grocery_list

['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']

功能

通常,您可以将列表看作字符串—只有每一块数据是一个元素。这在实践中意味着什么?你在字符串上使用的函数也可以用于列表。

len()——给定一个列表,这个函数返回它的长度。

>>> numbers_list = [1,2,3,200]

> > > len(numbers_list)

4

slice()——给定一个开始和停止值,就可以访问一组元素。

>>> hello = ["H", "e", "l", "l", "o"]

>>> hello[2]

'l'

>>> hello[3]

'l'

>>> hello[0]

'H'

>>> hello[0:2]

['H', 'e']

数据类型的方法

再次检查Python文档以查看所有可用的列表方法。

list.append()——用于将项添加到列表的末尾

>>> fruits = ["apples", "grapes", "oranges"]

>>> fruits.append("blueberries")

>>> fruits

['apples', 'grapes', 'oranges', 'blueberries']

list.sort() -对这个列表进行排序

>>> fruits.sort()

>>> fruits

['apples', 'blueberries', 'grapes', 'oranges']

pop()——给定一个索引值,从列表中删除一个元素

>>> numbers_list = [1, 2, 3, 200]

>>> numbers_list.pop(2)

3

>>> numbers_list

[1, 2, 200]

元组

元组类似于列表,但它们是不可变的——这意味着它们在创建之后不能更改。

my_tuple = ("Michael", "Herman", 31, "Software Developer")

就像一个列表,你也可以使用索引来访问不同的元素:

>>> my_tuple = ("Michael", "Herman", 31, "Software Developer")

>>> my_tuple[1]

'Herman'

元组通常用于字典键,因为它们应该(呃,必须)是不可变的。

操纵元组

运营商

是的,您可以添加两个元组:

>>> first_tuple = (1, 2)

>>> second_tuple = (3, 4)

>>> third_tuple = first_tuple + second_tuple

>>> third_tuple

(1, 2, 3, 4)

功能

list()——用于将元组转换为列表

>>> first_tuple = (1, 2)

>>> list(first_tuple)

[1, 2]

如何将列表转换为元组?有函数吗?你会去哪里找?

数据类型的方法

由于元组是不可变的,许多列表方法在元组上不起作用。

>>> first_tuple = (1, 2)

>>> first_tuple.append(3)

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'tuple' object has no attribute 'append'

>>> first_tuple.pop(1)

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'tuple' object has no attribute 'pop'

>>> first_tuple.sort()

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'tuple' object has no attribute 'sort'

>>> first_tuple.reverse()

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'tuple' object has no attribute 'reverse'

字典

字典是一种使用包含键/值对的哈希表实现的关联数组(对象)。他们是无序的。

my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}

可以使用以下语法返回键值:

>>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}

>>> my_dict["name"]

'michael herman'

>>> my_dict["Key 1"]

'Value 1'

操纵字典

使用Python文档自己研究一下。需要帮忙吗?下面的评论。

演讲的评论……

评论

注释用于描述您的代码,以便其他开发人员能够快速了解发生了什么(以及您未来的自我)。

# This a comment on it's own line

# You create them with the hash symbol

var = "Hello" # They can also be on the same line as code

需要帮忙吗?

像一个好朋友一样,如果遇到问题,Python总是可用的。也许您想知道特定的对象是如何工作的,只需打开Python shell,然后调用help()来获得帮助或dir(),以查看该特定对象有哪些方法可用。

(6)编码在Python中

用Python编写代码有三种基本方法。我们已经使用了其中之一——交互式Python Shell。

Shell(终极版)

这是三者中最弱的一个。虽然您可以在Shell中创建函数,但是它通常是为简单的一行语句保留的,以获得对代码的快速反馈。

例如,让我们来看一个简单的表达式。打开外壳,运行:

>>> 24 + 10

34

Python Shell仅仅计算了24 + 10,添加了两个数字,并输出了总和34。

试着多一个:

>>> import this

花一分钟阅读输出。这些是Python中的一些重要概念,将帮助您编写惯用的Python代码。

关闭Python交互式Shell。一旦关闭,我们的代码就消失了。换句话说,输入到Python Shell中的代码不是持久的,并且不能重用。作为编码人员,我们需要能够重用的代码来保存宝贵的击键。不幸的是,Python Shell在这方面失败了。

闲置

Python附带了一个名为IDLE的程序(以Monty Python的Eric IDLE命名)。IDLE是交互式的,可以像Python Shell一样使用。它还可以用于代码重用,因为我们可以创建和保存Python代码。也就是说,IDLE仍然没有最后一个方法强大,所以我们暂时跳过它。

如果你对使用IDLE感兴趣,请查看一天IDLE的指导。

代码编辑器

最好的方法是使用一个实际的编码编辑器。有些人喜欢集成开发环境(IDE),但是更简单的代码编辑器更适合学习。

为什么?当你学习新东西的时候,你想要尽可能多地剥离复杂的层次。简化事情。通过在混合中添加一个复杂的IDE(您将不得不学习如何操作),您只是添加了越来越多的层,使得学习Python的任务变得更加困难。

(7)选择一个编码编辑器

Python程序,在其基本形式中,就是用.py文件扩展名保存在文件中的几行文本(代码)。Python代码可以用像记事本这样基本的东西来编写——但是没有理由让自己经历这样的磨难,因为有更好的选择。在其核心部分,代码编辑器应该提供许多特性来帮助程序员创建程序(在我们的示例中是Python脚本和模块)。在大多数情况下,代码编辑器允许用户自定义程序本身,以适应您的需求和风格。

在代码编辑器中应该寻找什么?

易用性

语法高亮显示

Auto-indentation

选项卡视图

行编号

自定义编辑器外观的能力

获得附加组件

看看下面的例子:

因此,不仅代码更容易在顶部的编辑器(Sublime Text)中阅读(由于语法高亮显示和行号),而且它还识别了三个简单的错误,其中一个是显示障碍。(你能猜出是哪一个吗?)与此同时,底部的编辑器(记事本)没有显示错误,而且由于它是黑色的,而且是黑色的,所以在眼睛上很难看到。

我应该使用哪个编辑器?

最流行的代码编辑器之一是Sublime Text 3(如上所示)。它功能强大,跨平台,并且可以免费试用。

如果您继续使用该项目,请确保通过购买许可证来支持该项目。

如果您想要更简单的东西,请查看gedit,它也是跨平台的。Notepad++也是一个很棒的编辑器,但它只适用于Windows。这两种编辑器都是免费的,尽管它们都不具有崇高文本的力量,但它们仍然是有用的。

第三种选择是Vim,它是免费的,可用于Mac、Linux和Windows。Vim有一个陡峭的学习曲线,但它有一个忠实的用户基础。Steve Francia的Vim发行版是我所见过的Vim最好的编程设置。

我个人更喜欢Sublime Text 3。查看为完整堆栈Python开发设置Sublime Text 3的博客文章,了解如何为编写Python代码专门定制它。

记住:当涉及到代码编辑器时,有很多不同的选择,包括免费的和商业的。做你的研究,不要害怕实验!只要记住:编辑器应该帮助您遵守Python编码标准、实践和习惯用法……

(8) Python习语=快乐编码

Python代码的PEP 8风格指南是Python代码编程的风格指南。研究这个。

许多新的Python开发人员都会遇到的一个习惯用法是缩进。Python使用缩进(4个空格)逻辑地将代码组织成称为[代码块](http://en.wikipedia.org/wiki/Block_(编程)的部分。代码块以缩进开始,以缩进结束(非缩进?)不正确的缩进会在Python中产生错误,阻止代码执行。这正是使用适当的设置代码编辑器的好处,因为它将捕获缩进错误并为您突出显示它们。在缩进时也应该使用空格而不是制表符。大多数编辑器将允许您将制表符转换为空格,这样当您制表时,它实际上应用了4个空格。

让我们从上面的图片中重新查看错误……

第2行——

第4行——这里有两个错误,包括显示停止符。如上所述,Python使用缩进来定义代码块。count = count + 1,是从第2行开始的代码块的一部分,因此它必须缩进4个空格,以便Python将其包含在代码块中。

(9)数到10

准备好开始一个基本的例子了吗?

如果您是一个全新的编程新手,您可能不完全理解代码,但重要的是概念。Python被设计成非常容易阅读,这个例子演示了这个原则。我们将修复上面的坏代码,并添加一个代码块来强调代码块和缩进的概念。

许多程序员在开始处理问题时都会不知所措。一个有效的方法来帮助解决问题,无论大小,是逻辑地把问题分成几个部分。

例如,让我们编写一个从1到10的基本程序。每次count增量时,我们都希望显示一个新数字,为了帮助理解代码块的概念,我们将展示达到10之后会发生什么。帮助开发工作流的一种方法是使用伪代码。

让我们制定一个计划(伪代码!)

我喜欢在我的电脑上整理东西,所以首先创建一个文件夹,把它放在你的“文档”文件夹或类似的地方。我创建了一个名为python_code的文件夹。学习代码很容易,所以打开您的代码编辑器,输入以下代码。无论多么诱人,都不要复制粘贴。这样做会妨碍学习。

Python 2.7:

# Python 2.7

count = 1

# Code block 1

while count

print count

count = count + 1

# Code block 2

if count == 11:

print 'Counting complete.'

Python 3:

# Python 3

count = 1

# Code block 1

while count

print(count)

count = count + 1

# Code block 2

if count == 11:

print('Counting complete.')

注意,每个示例的第一行都有#(哈希字符),后面是空格,然后是解释。这是内联注释。这样的注释有许多用途,但在大多数情况下,它们用于解释代码或总结开发人员采用的特定方法。你觉得上面例子中的评论有意义吗?如果不是,改变他们。

最后,您很快就会发现,在执行代码时,Python会忽略注释。

您是否注意到示例同时使用了单=和双==?这可以让人困惑。

表达式count = 1, =将1的值赋给名为count的变量。

在条件if count == 11:中,==比较count与11的值,返回一个布尔值True或False。您能说出在每次迭代之后,上面示例中的语句的计算结果是什么吗?

将文件保存为count_to_ten。py在您创建的文件夹中,然后退出编辑器。打开终端或命令提示符并导航到创建的文件夹。

现在运行代码:python count_ten.py

根据您的设置,可能需要用python3或py -3替换python。有关更多信息,请参阅步骤4。

输出应该是这样的:

恭喜!你刚刚写了你的第一个程序。

(10)错误和异常

错误是在每个层次上都让程序员感到恼火和沮丧的东西。

在Python中,有两种基于代码的错误:语法错误和异常。

语法错误

我们已经看到这个错误——不正确的缩进。语法错误将阻止程序的执行。在本例中,if语句缺少一个冒号来结束语句。正如您所看到的,Python非常有助于指出错误:

>>> if x

File "", line 1

if x

^

SyntaxError: invalid syntax

异常

程序执行时发生异常错误。Python有许多内置的异常。例如:

>>> 12/0

Traceback (most recent call last):

File "", line 1, in

ZeroDivisionError: integer division or modulo by zero

语义错误

语义错误是由于逻辑中的一个或多个问题而发生的错误。

这些错误可能更复杂,因为不会生成错误。代码运行,但会生成意外和/或不正确的输出,或没有输出。一个典型的例子是一个无限循环,大多数新程序员至少会经历一次。

(11) Python的Power - package / module

Python的一大优点是大量可用的模块,它们都内置在Python核心和第三方包/库中,用于扩展语言。这些模块非常有用。一些更常用的内置Python模块包括:

数学:C标准库中的数学函数(你已经见过这个了)

随机:一个伪随机数生成器

datetime:用于操作日期和时间

用于处理正则表达式

例如,这里我们导入数学来使用pi, sqrt(平方根)和pow(幂次):

警告:不要将Python文件命名为类似于模块的数学。py或random.py。这会导致冲突,导致代码中出现意外行为。因此,如果您正在使用math模块,请不要将您的文件math.py命名为name。有意义吗?

皮普

管理Python的第三方包/模块的最佳方法是使用pip。新的编码人员在执行一些示例代码时经常遇到瓶颈,当他们试图运行代码时,会看到以下错误:ImportError:没有名为MODULE_XXXX的模块。

这些模块需要使用Pip手动安装。在python3中,pip(称为pip3)被包括在内。如果您使用自制程序安装Python, pip也包括在内。从Python 2.7.9开始,也包括pip。如果您在2.7.9之前使用的是Python版本,请按照以下说明安装pip:

下载get-pip。py,确认文件是用.py扩展名保存的。

导航到终端或命令提示符中下载文件的位置。

运行:python get-pip.py

有关更多信息,请阅读官方pip文档。

(12)的下一个步骤

有许多在线教程、书籍和视频可以免费获得。

我的第一站是最受欢迎的免费选择之一,《艰难学习Python》。泽德·肖的教程以循序渐进和逻辑的练习形式展开。我发现它对学习语法很有用,但我需要更多。

学习如何编写代码的最好方法之一是构建项目驱动的学习方法。我就是这样遇到真正的Python的。有三种真正的Python,它们的成本不高,经常更新(通常是双月更新)以跟上变化(免费)。

另一个真正帮助我的地方是MIT的计算机科学和编程入门课程,它涵盖了各种计算机科学概念以及Python。这个课程可以在两个地方找到。

哈佛大学和麻省理工学院的非盈利在线项目(Edx.org)分两部分提供这门课程。它们具有挑战性,并为解决问题提供了极好的方法。两个部分是分级。

另一个途径是从麻省理工学院开放课件,计算机科学导论和编程MIT 6.00x。这门课没有评分,但它有一个非常活跃的在线社区,非常有用。

当然还有其他的在线课程。同样,这是个人的选择,你自己的研究也是如此。

免费学习材料的另一个来源来自PSF:

Python 2.7

Python 3.4

最重要的是,不要沉迷于寻找“最好的”书籍或视频搜索而迷失方向。做一些研究。问问周围的人。但是选择一些东西并坚持下去!打开您的代码编辑器并开始编码!对自己承诺去完成它。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180829A0YC1100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券