字幕组双语原文:如何从零开始学习Python【真·小白入门】

英语原文:Learn Python From Scratch, With One Article

翻译:雷锋字幕组(赟瑾和鸣、Danielan、求求你了救救孩子)

我应该怎么开始呢?

别着急,我们需要先知道Python是什么。我可不太喜欢没有什么解释的大词。

简单来说,Python就是一种你告诉电脑应该怎么做的方法。你也许会问,电脑怎么听得懂英语呢?

Python有个编译器,会在运行的时候读取你的代码。然后再将其转换为电脑操作,有关开源的部分,我稍后再说。

Hello World!

写下Hello World是你在学任何编程语言时做的第一件事,除了让你对第一次代码运行感到兴奋,它也会帮你检测目前运行环境是否正常。

我们第一个运行的程序!

重点

可读性--我们注意到打印指令用的是“print”,这也许很明显,但是相信我,在别的编程语言中,会很麻烦,比如“ System.out.println(要打印的文本) ”

这种命令结构很重要,print是一个函数,一个在计算机世界中接受输入的函数,同时它也生成输出,这个函数不会返回任何东西,但是它会将任何你想要的东西打印到屏幕上。

变量

变量是编程的砖瓦,有些是系统内置的标准变量,如数字,字符串,列表值,有些则是自定义,我们会在文章的最后一起创建自定义变量。

变量就像一个容器,是一个代表一个或多个值的名称。重点是,它真的就是一个容器而已!

数字

现在变量的意义应该不言自明了吧,声明一个变量就是将某个值赋予该变量,如果要作幂(乘方)的话只需要用“*”。运算顺序就像初中数学一样,从左往右写,括号内优先。先乘除,后加减,注意顺序,这很重要!

字符串

现在字符串应该是一个更广泛的话题了,函数的个数是无限的,但是基本内容都在这了,添加字符串只是合并起来,你可以在字符串变量中观察其子字符串,利用切片,确定位置(比如从0-2或者任何你喜欢的范围)。

“len”函数会显示一个对象的长度,通过这种方式,我们可以从初始字符串提取“Hello World”这一子字符串。请读者好好思考一下,我并不想填鸭式地给你们灌输内容,这会毁了整个学习体验的。

列表,元组,字典和集合

列表在储存和操作大量数据方面又快又好,是在Python中最常用的一个对象。

记住绝大多数情况下,对于列表的操作改变的是其本身,简单的复制列表(浅拷贝)并非真正复制(深拷贝),这有些超前了,但是如果你想拷贝一个列表,请这样做:

(上述操作第二行事实上拷贝的是储存地址,lst3和lst本质上是一个对象;第三行拷贝的是值,而不是储存地址)

相信我,之后你会感谢我的!

元组,集合和字典有很多可以介绍,但是篇幅有限,我会介绍一些基本用法。

计数用字典;元组防止值被篡改;集合不允许出现重复的值并且处理数据很快。

这里是一些简洁明了的小技巧!

你总是会用到的collocations模块

Python的collections模块是个被低估的库,它能助你的编程水平更上一层楼

参考

如果你没有做过任何大型开发应用,代码效率应该不会吓到你,用列表作为起步刚好。

流程控制

流程控制只是if-else语句的一个花哨名称

Elif-仅当在if语句为假时执行。

缩进,缩进,缩进!

我不能再强调Python中的新开发人员仅仅因为这个原因而犯了多少错误,这四个空格决定了语句块,注意print语句在if块中的位置,如果将它从if代码块中移走的话,if语句什么都不会做。

另一个重要的地方,==不赋值,它只能计算出True和False。

“elif”只在if语句失败时出现,它是为了避免在数字大于5时进行测试然后在数字大于8(只是个例子)的时候再次测试。

将and和or组合是个检查多个语句的方法。

循环和迭代

你可以在列表,元祖,字典甚至字符串中进行迭代,以下是它怎么实现的:

循环能让你重写多次任何你想写的。你只需要写一次,然后让代码在那你想要的次数之后停下来就可以了(例如while loop)

或者你想以迭代的形式每次只处理一个数据,可以使用上图中animel的方法。

函数

今日的内容即将接近尾声,请集中注意力。

函数需要输入,并对输入做一些操作,之后回送给用户反馈——也即输出。

如果你能记住这句话,那么这就是你将要做的大部分工作。

函数让我们可以一遍又一遍地行使多个操作,而不用重复叙述。并且,它使得代码的可读性提升了,当你读到这行代码——if test_even,很好理解,这个函数就是检查一个数是否是偶数。这种方式让读者可以更好地理解你写得代码。可读性十分重要。

现在类是自定义对象的构成要素,把它看作是一个建筑蓝图,它将教你如何建造一个建筑。

你可以根据这个蓝图建造两个建筑,它们都是一个建筑,但不是同一个建筑,这很重要,一个类描述的是一个事物,一个对象,但它不是对象本身。

OOP(面向对象编程)是一个深刻而先进的主题,第一段代表了它的基本概念,但它是一个值得一系列文章去探讨的问题,而不是一篇文章。

现在一个对象有两个主要的特征,它们是属性和函数(方法),“它是什么和它能做什么。“

最后一件事,蓝图是Cat类,使用这个类我可以创建对象(cats),如下所示。

self属性指的是对象,而不是类,基本上说,是这个猫的年龄,或者是这个猫的性别,所以它叫self,它指的是对象。

我们可以创建像play这样的自定义函数,在这种情况下,它做不了什么,但是我们也可以重写内置的python函数,比如add(在本例中,我让它们产生了一个新的cat对象)或__repr__来替换print函数。

这个解释只是冰山一角,但你必须从某个地方入门。

结论

尽管我知道这篇文章还有很多东西要写,我的意思是-非常多,但是如果你给予足够的关注,它可以在短时间内教会你Python的基本原理,这样,你可以深入到更高级的主题中。

也许完全改变了你的职业生涯,把你所做的一切工作自动化,这篇文章也许只是一小步,但却是一个非常需要的步骤!

希望你喜欢!

雷锋字幕组是一个由 AI 爱好者组成的翻译团队,汇聚五百多位志愿者的力量,分享最新的海外AI资讯,交流关于人工智能技术领域的行业变革与技术创新的见解。

团队成员有大数据专家、算法工程师、图像处理工程师、产品经理、产品运营、IT咨询人、在校师生;志愿者们来自IBM、AVL、Adobe、阿里、百度等知名企业,北大、清华、港大、中科院、南卡罗莱纳大学、早稻田大学等海内外高校研究所。

如果,你也是位热爱分享的AI爱好者。欢迎与雷锋字幕组一起,学习新知,分享成长。