Banner_Python.

经过Stavros Korokithakis.对于Udemy

对初学者指南有兴趣吗?看看我们的一个完整Python的课程。

注意:这篇文章是关于我们最受欢迎的课程主题的“入门”系列免费文本教程的一部分。

点击下面的目录可以跳转到具体的章节:

运行python.

得到帮助

变量

数据类型

没有任何

布尔值

整数/浮动

清单

词典

流量控制

如果

列表理解

职能

多个返回值

命名参数

结语


Python是当今最流行的编程语言之一,可能是因为它很容易学习。本教程将简要介绍Python语言及其核心概念,教你Python如何工作的基础知识。

学习编程语言最好的方法是选择一个你喜欢的项目,然后着手去做。如果一开始感到沮丧,不要担心——这很正常(是的,不仅仅是你)。在几天的工作中,你会变得更好,你不需要一直查找资料,这将使编写程序更有趣!

延迟够了,让我们跳到教程中吧!

运行python.

如果您正在运行Linux或OS X,您就在运气中 - Python已安装!只需打开终端(在已安装的程序中查找它),键入python并按enter键。如果你运行的是Windows,你就可以下载ActivePython.,这是一个很好的启动方式。

在你运行Python之后,如上所述,你应该看到如下内容:

这三个箭头是“棒极了”的缩写,它们意味着您可以开始输入代码了。在你输入一些东西后,按enter;Python解释器(运行你的命令的东西被调用)要么抱怨要么给你你想要的。既然您现在已经准备好继续学习了,那么让我们进入教程的下一部分:获得帮助!

得到帮助

幸运的是,在翻译中得到帮助非常容易。你所需要做的就是打字帮助(<您需要帮助的东西>),由翻译来传达。你会看到什么类型的事情你可以得到帮助在一段时间。举个小例子(暂且不考虑实际细节):

>>> help(len) built- on的帮助函数len模块内置命令:len (......) len(object)返回序列或集合的项数。

没有进一步的ADO,让我们看看第一语言构造:变量。

变量

您可能熟悉其他编程语言的变量。如果您不知道任何其他编程语言,则别担心,随着变量是一个简单的概念,但是与编程一般来说,现实世界中没有模拟。因此,您需要忘记您了解的一切,并尝试形成有关变量,流量控制构造以及所有其他花哨的编程语言的心理模型。

您可以将变量看作是一个占位符,它可以帮助您以一种通用的方式编写程序,然后通过更改变量对其进行调整。例如,在下面的代码片段中,名称是一个变量:

>>>打印“你好”, 名称)

如果在键入此输入并按Enter(实际上不键入)>>>;他们在那里告诉你,那是你应该输入文本的地方),解释器会向你抱怨,因为它还不知道什么名称应该是。但是,如果你这么说名称是,例如,“John”,它将愉快地显示“Hello John”,而不需要更改任何代码。这很神奇。

实际上是告诉解释器名称应该是很简单:

>>>名称=“约翰”

看起来我们是在问解释器这两项是否相等,但不要让等号骗了你。我们实际上是让它取右边的值然后把它放到左边的变量里。按回车后,名称现在将有一个值,值将是“约翰”.报价是重要的,他们告诉口译员“约翰”是一串字母,而不是数字,或其他任何东西。

试着运行打印上面的线路,了解翻译如何抱怨不知道什么名称,然后运行对变量的赋值和打印一次。你会发现你让这个翻译变得多么开心,你会感到内心一片模糊。

数据类型

数据类型是口译员理解的种类。我们已经看到了字符串,基本上是一堆字符、单词、数字等。字符串是你可以阅读的东西,但你不能对它们进行数学运算。它们是文本数据。

Python中还有其他类型的数据类型;这里有一些:

没有任何

没有任何就是这样。没有其他任何东西。当您想要表示变量为空时使用此功能,或者您不知道应该进入什么,或者在不确定的一般条件下。没有任何在你身边。大小化与Python中的其他一切都很重要。

布尔值

布尔斯只有两个值:真正的.它们被用来表示某事是真的还是假的。

整数/浮动

整数是这样的数字-10.123.1923年1.2但是,它不是整数,因为整数是所有的数字(1.2是浮点数,或者漂浮)。你可以和他们一起做数学,就像你期望的那样:

>>>-1+10.>>>my_number =2>>>我的号码 *24.>>>10/25.>>>3.2Arunachal Pradesh,2#这是3.2平方。10.240000000000002

等等。你看my_number * 2你可以把一个包含整数的变量和一个整数相乘,它会达到你期望的效果。这是所有语言的主题:变量几乎只在脚本中使用(因为您通常事先不知道要处理什么数据),并且它们完全可以与数据互换。您可以像对待变量所包含的值一样对待变量。

清单

列表是最有用的数据类型之一。他们是,字面上,事物列表。列表可以包含任意数量的元素和任何类型的元素。它们用方形括号表示([])。例如,这是一个有效的列表:

>>>my_list = [12.0“三”, (“这”“是”“仍然”“四”]

上面的列表有四个元素:整数1的浮动2.0,字符串“三”和列表[“这个”,“是”,“仍然”,“四”].这是正确的 - 列表可以包含其他列表,他们甚至可以包含自己(虽然这很少使用,而不是你真正需要知道的东西)!

您可以将列表添加在一起,将内容添加到它们,从中删除东西等。您还可以再次参考其中的东西,使用方括号。请记住,列表指数从0开始启动:

>>>my_list [0.]1>>>my_list [2]“三”#表示第二个元素(记住,0是第一个)#到第四个(不包括第四),即两个元素。>>>my_list [13.] [2.0“三”]

与列表非常相似的另一种数据类型是元组,基本上是一个永远不会改变的列表。元组通常用于您想要列表的情况下,但希望确保它不会改变 - 例如,作为其他事情的名称。你会看到一个例子如下。

词典

字典持有成对的东西:键和值。它们是符合查找表,因此如果您知道其名称,您可以快速找到一些东西。它们用卷曲括号表示({})。例如:

>>>movie_details = {#wewlines在这里很好。“制片人”“玛丽”“actor_number”3.“演员”[“约翰”“詹姆士”“简”],“预算”3000“地点”“雅典”}#现在我们已经输入了所有的电影细节,让我们来查找它们。>>>movie_details [“制片人”]“玛丽”#让我们找到每个演员将获得多少报酬。>>>movie_details [“预算”] / movie_details [“actor_number”]1000#让我们向预算添加一些钱。>>>movie_details [“预算”] = movie_details [“预算”) +1000

与列表不同的字典是无序的,无法排序。没有办法获得字典中的第一个或最后一个元素,因为那里字典中没有第一个或最后一个元素。

字典键可以是任何不变的数据类型。例如,他们可以是当前的媒体宠儿,元组

>>>my_dict = {}#将密钥的值(1,2)设置为“hello”:>>>my_dict [(12)] =“你好”>>>打印(my_dict) {(12“你好”}#键也可以是数字。>>>my_dict [1] =“你好”{(12“你好”1“你好”}

总之,字典(连同列表)是Python提供的最多的数据类型。在程序中,您通常会将它们用于各种目的。

流量控制

了解变量和操作如何工作已经可以让您感到很远,但是您的程序不仅仅是一系列命令直接运行。有时

您可能需要根据某些条件执行不同的操作,或者多次运行一段代码。这就是流控制语句发挥作用的地方。

流量控制语句通常通过跳过一些代码来改变程序的流程,或通过多次运行一些代码。但在谈论流量控制陈述之前,我们需要谈论

块是代码的块。这几乎是它们:它们是属于一起的逻辑代码。它们由相同的表示缩进级别,这基本上意味着同一块中的每一行前面都有相同数量的空格。下面是一些block的例子(注意,它们并不是真的要工作;它们只是为了演示block是什么样子的:

imagine_that =“这是”some_code =.“你写了”this_is =“一种”不同的_block =.“现在”we_re_back =“到原来”缩进=“现在”but_this_is =“第三块”

您不能在块的中间任意改变缩进级别(即,在每行的开头放更多的空格),但是我们将在下面看到的控制流语句将要求您写入新的块。让我们继续陈述,事情会变得更清楚:

如果

如果声明(可预测)根据某些东西是否为真或假执行代码的不同分支。请记住我们如何使用等号(=)将值分配给变量?好吧,现在我们需要检查变量是否具有一定的值,我们无法使用等号,所以我们将使用双重等号(==.) 要做到这一点。

的语法如果声明很简单。它从这个词开始如果,其次是一个应该锻炼的条件真正的(就像是1 == 2例如,这是显而易见的),冒号()最后,然后开始新的块。这是如果条件为真,则将执行块。

之后真正的块结束时,可以选择插入其他的条款,然后开始堵塞。这是一种在实践中有效的方式:

= > > >的名字“约翰”>>>如果名字= =“约翰”......打印(“嗨,约翰!”我们在这里开始一个新的区块。......打印(“你好吗?”......其他的block在这里结束;我们回到了原来的缩进级别。......#和这里是另一个街区。注意缩进......#水平。如果条件为False,这将运行。......打印(“我都不知道你是谁了。”) 嗨,约翰!

发生了什么,如果对其进行了比较名称“约翰”,看到它匹配(因为我们给了名称价值“约翰”,然后运行第一个分支(真正的分支)。如果名称已经有任何其他价值,第二个分支(分支机构将运行和打印我甚至不知道你有谁

你没有指定其他的部分:

= > > >的名字“约翰”>>>如果名字= =“约翰”......打印(“嗨,约翰!”) 嗨,约翰!

在这种情况下,如果名称不是“约翰”,没有什么发生的。

如果您希望检查多个条件,并且只运行代码的一部分,该怎么办?例如,假设你想打印某人账户里有多少钱美元是一个以美元为单位的变量。你的第一个想法可能是这样做:

>>>如果美元>1000......打印(“哇,你很富有!”) > > >如果美元>One hundred.......打印(“呃,你没事。”) > > >如果美元>10......打印(“你可能不应该花那么多钱。”

当您运行这些代码时,您希望发生什么美元2000年?下面是实际情况:

哇,哟你很富有!呃,你回复。你应该是不是花很多。

这是为什么?因为代码在第一个分支之后没有停止,但保持运行,而且,自2000美元以来,我们已经超过了任何一个条件,每一行都会运行。在这种情况下,我们希望代码在找到匹配之后停止运行,所以我们需要使用神奇的el声明。它应该是这样的:

>>>如果美元>1000......打印(“哇,你很富有!”......elif美元>One hundred.......打印(“呃,你没事。”......elif美元>10......打印(“你可能不应该花那么多钱。”......其他的......打印(“我甚至不能用显微镜检测你的钱。”

el继续前进,直到它找到匹配,只执行那个。在这种情况下,无论平衡如何,解释器都会击中正确的分支,然后在整个结束后继续如果声明,甚至没有休息。

其他的Block将在没有其他分支匹配的情况下运行(例如,余额甚至低于10美元,甚至是负数)。

循环非常相似如果语句,除非它不会只运行分支中的代码一次;相反,当语句是时,它将继续运行它真正的.例如:

> > >瓶=9.>>>瓶>0.......打印(瓶子,“墙上的啤酒瓶。我忘记了这件事。”......瓶子-1

这将打印以下内容:

9.瓶子啤酒墙。我忘了这件事是怎么回事。8.瓶子啤酒墙。我忘了这件事是怎么回事。7.瓶子啤酒墙。我忘了这件事是怎么回事。6.瓶子啤酒墙。我忘了这件事是怎么回事。5.瓶子啤酒墙。我忘了这件事是怎么回事。4.瓶子啤酒墙。我忘了这件事是怎么回事。3.瓶子啤酒墙。我忘了这件事是怎么回事。2瓶子啤酒墙。我忘了这件事是怎么回事。1瓶子啤酒墙。我忘了这件事是怎么回事。

没什么好奇怪的,变量瓶子每次都开始于9点9点,减少1循环运行,并在达到0时停止。但是,如果我们事先不知道我们想在什么地方停下来,我们能做什么呢?这就是打破声明是在:

> > >瓶=9.>>>瓶>0.......打印(瓶子,“墙上的啤酒瓶。我忘记了这件事。”......瓶子-1......如果瓶<5.......打破

毫不奇怪,这将打印最多5的线,然后停止打印。在这个具体情况下,我们事先知道我们想在5岁时停下来,所以我们可以在这个顶部的陈述,但例子只是为了向您展示如何使用打破.在实践中,您会有其他条件来停止迭代—例如,您将搜索一个项,并希望在找到它时停止。

假设您想在列表中查找第1号,并在找到它时打印位置,如果不是在列表中,则打印“未找到的号码”。你可以用变量和变量做到这一点如果S和其他东西,但是有一个更简单的方法:

数字= [241092.2871.18070]计数器=0.number_to_find =.1柜台>8.列表中的第8个元素如果数字(柜台)= = number_to_find:打印“在位置找到的数字”, 柜台)打破其他的打印“号码找不到”

那是对的 - 你可以使用其他的条款在循环,它只会在循环没有到达打破.这是一个非常方便的方式来执行一段代码,以防你没有设法做你想在循环本身做的事情。

循环是循环系列中最常见的,并且您将在实际使用最多的人。并且有充分的理由:循环是最好的循环。

这是一个小秘密:在Python中,很多事情都是Pyton所说的迭代.这意味着您可以迭代它们,即,按元素浏览元素。例如,字符串是迭代的。如果您尝试迭代,您将获得字符串的字符,一个逐个字符。列表是迭代 - 您将按顺序获取每个元素。字典也是迭代 - 你会得到他们的钥匙(虽然没有特别的顺序)。一群其他东西也是迭代的,但你如何迭代迭代?

你猜到了:这是哪里的循环进来。它是迭代迭代的标准方法。这Loop将接受一个可迭代对象,并按顺序给你它的每个元素:

>>> my_list = []“一种”“系列”“的”“不太可能”“解释”] >>>物品my_list:......打印(项目)

这是给我们的:

一种系列不太可能的解释

看看有多好吗?您不需要遇到柜台,您无需在迭代中保持您的位置或任何内容。只需使用A.循环,它会为您做一切。

当然,循环支持打破其他的,就像

>>> my_list = []“有趣的”“它”“工作”“最后一次”“时间”] >>> Word =“工作”>>>物品my_list:......如果项目== Word:......打印(“找到了!”......打破......其他的......打印(“这不在那里。”

如果单词在列表中,它会告诉您它发现它。如果没有,它会告诉你它不会,看起来比它更简单版本!更简单。这就是我们喜欢的原因更多。

列表理解

列表理解不是一个真正的流控制语句,但他们是惊人的,需要提到。它们基本上是一个列表,一个循环和一个如果声明,所有人都卷到了一个神奇的构建体。当您想要在易于运行且可能过滤它时,它们通常会使用。这是一个例子:假设您想将列表中的所有数字乘以三(大多数其他教程只有双号,但这是Edgier),获取另一个列表:

>>> my_list = []3.9.14.27.] >>> [物品*3.物品我的列表] [9.273.126.21]

这通常非常有用,魔法不会停止那里。您还可以将物品过滤到仅偶数数字:

>>> my_list = []3.9.14.27.] >>> [物品*3.物品我的列表如果物品2==.0.] [126.]

这听起来可能不多,但这仅仅是个开始。当您考虑编程实际上是什么,即,用各种方式将数据转换为其他数据时,您会意识到这是程序的基本构建块之一。让我们转移到另一个基本的构建块,它将与上面的配合,以完成合奏。

职能

功能是任何编程语言的其他重要部分。它们基本上是一种方法,将代码分组到逻辑单元中,并从代码的其余部分抽象它们。如果您想使用一个特定的,连贯的事情,接受一些数据并返回一些数据,它们非常有用。

例如,让我们写一下琐碎的函数来接受一个数字和三倍。您宣布函数def关键字,然后函数的名称(您选择要调用的内容),然后它将在括号中接受的数据(称为参数)。参数基本上是变量,它们在功能内部可用。

函数也可以选择使用返回数据返回声明。这非常有用,我们将使用它返回三倍的数字。这里是:

>>>deftriple_number(数字)......返回数字 *3.

正如您所看到的,这非常简单,而且它几乎完全正是在上面的列表理解中发生的事情。但是,这次,您可以从代码中的任何地方调用它,而无需换句话:

>>>triple_number1030.

函数更好的是,它们可以帮助您根据其目的分开您的代码。如此(这次,没有三箭头,因为你必须输入一切):

def计算运费(国家)shipping_rates = {“我们”5.“英国”15“GR”20.,}#查看国家是否在shipping_rates字典中。如果国家shipping_rates:shipping_cost = shipping_rates [国家]返回运输费其他的#我们不支持运往那个国家。返回没有任何defcompulate_tax.(州,价格)如果国家==“纽约”:税=价格*0.05el国家==“CA”如果价格<One hundred.#对于便宜的物品,我们不会收取税款。这是销售。税收=0.其他的:税=价格*0.06其他的:税收=0.返回defcalculate_final_price(国家,州,价格)运费= calculate_shipping(国家)如果运输没有任何#如果我们无法发货,只是返回。我们还没有学会如何#正确中止。返回final_price = price + shipping + Tax返回final_price

将上面的代码与完全不使用函数的代码进行比较,然后将所有代码放在一个大的堆中:

shipping_rates ={“我们”5.“英国”15“GR”20.,}如果国家shipping_rates:shipping_cost =shipping_rates [国家]其他的#现在这里没有什么好办法!#也许只是给他们收费很多。shipping_cost =100000如果州==“纽约”税收=价格*0.05el州==“CA”如果价格<One hundred.#对于便宜的物品,我们不会收取税款。这是销售。税收=0.其他的税收=价格*0.06其他的税收=0.final_price =价格+运输+税收打印(Final_Price)

它不仅更难看,而且包含函数的代码也更灵活,因为每个函数都可以由代码的其他部分独立调用。例如,如果您想为其他地方的其他项目计算税收,您可以调用compulate_tax.函数。如果是第二种选择,就不行,因为没有功能。

You’d have to copy/paste the relevant bit of the code, and if the code had a problem, or if you wanted to change it to some other way of calculation, you’d have to go look everywhere in your code to make sure you’ve made the change in all the parts of the code.

多个返回值

您可以询问是否可以一次返回多个值。通过本节的标题来判断,您可能已经猜到它是,而且你将是对的。以下是如何工作的:

defreturn_many_things()返回123.一个,两个,三个= return_many_things()

运行此代码后,将有值1两个将有值2,值为作为读者留下练习(提示:它是3.)。

当然,这都是一个大的谎言。Python实际上并不支持返回多个值;您只能返回一个值。但是,Python将要做的是,它将包装要返回的多个值元组(记住之前的元组?是的!)并返回!这是非常有用的,但你总是可以创建自己的元组并返回它,或者甚至返回诸如列表或字典之类的东西,这取决于你的程序调用什么。

命名参数

到目前为止,函数中唯一的参数是位置.这意味着语言了解哪个论点是因为我们指定的顺序所在的地方。例如,问问自己python如何知道这一点名称应该是“约翰”年龄24,而不是反过来:

>>>defprint_details.(姓名、年龄)......打印(名称,“是”, 年龄,“岁”。>>>print_details (“约翰”24约翰24岁了。

显然,Python知道哪个论点是因为订单。但是,有时您可能希望以不同的顺序传递参数,或者根本不通过它们。Python允许您通过分配一些参数来非常轻松地执行此操作默认值,具有非常简单的语法。您需要做的就是给出等号的默认值,如下所示:

>>>defprint_details.(name =“未知”,年龄=One hundred.......打印(名称,“是”, 年龄,“岁”。#现在,这两个参数都是可选的,因此所有以下工作都是:>>>print_details()未知One hundred.岁了。>>>print_details (“约翰”约翰One hundred.岁了。>>>print_details(年龄=24)未知24岁了。>>>print_details(年龄=40,名称=“简”)简40岁了。>>>print_details (“玛丽亚”12玛丽亚)12岁了。

如果参数有默认值,则可以省略它,或者您可以传递它或更改周围的值,您可以执行任何您想要的任何操作。您可以使用以下或您可以通过指定其名称将它们明确地传递它们的参数,如上所述。

不过,有一些警告。关键字参数必须紧跟位置参数之后:

defprint_details.(姓名、年龄=40打印(名称,“是”, 年龄,“岁”。#这是错误的:defprint_details.(name =“艾琳”, 年龄)打印(名称,“是”, 年龄,“岁”。#这也是错的:defprint_details.(姓名,年龄=)打印(名称,“是”, 年龄,“岁”。

相应地,你可以这样调用带有默认参数的函数:

defprint_details.(name =“斯”,年龄=40打印(名称,“是”, 年龄,“岁”。# 这可以:print_details (“玛丽”,年龄=20.#也很好:print_details (“玛丽”20.#也很好:print_details (name =“玛丽”,年龄=20.#这也很好:print_details(年龄=20.,名称=“玛丽”#这是错误的,因为参数无序:print_details (20.“玛丽”#这也是错误的(你不能在位置之前有一个关键字参数):print_details (name =“玛丽”20.

这个非常灵活的系统允许您在多种方式中将数据传递到您的功能中,并指定要选择的参数的默认数据。

结语

到目前为止,您应该对该语言的结构有了一个很好的了解,并且应该能够编写小程序来做基本的事情。从这里,Python文档是一个待命的好地方;它非常可读,详细解释了一切。

本教程根本没有涉及类,因为它们是一个稍微高级的主题,但是上面的文档包含了一个非常好的教程,它详细地解释了所有的事情。

谢谢阅读!

Python的顶级课程

100天的代码 - 完整的Python Pro Bootcamp 2021
Angela Yu博士
4.7 (26,574)
Python 3:Dive Dive(第3部分 - 哈希地图)
弗雷德巴普蒂斯特
4.8 (686)
Python 3:深潜席(第4部分 - OOP)
弗雷德巴普蒂斯特
4.8 (1,133)
为初学者提供的Python完整大师类
Mihai Catalin Teodosiu,Epicpython学院
4.5 (2,344)
畅销书
Python的设计模式
Dmitri nesteruk.
4.4 (1,285)
算法交易A-Z与Python,机器学习和AWS
Alexander Hagmann.
4.6 (464)
畅销书
数据科学:Python中的深度学习与神经网络
懒惰的程序员公司
4.6 (7296)
人工智能:Python的强化学习
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (8530)
畅销书
Python中深入学习的自然语言处理
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (6434)
高级人工智能:Python深度强化学习
懒惰的程序员团队,Lazy Programmer Inc.
4.6 (3,846)
收视率最高

更Python的课程

Python的学生也会学到

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示