‫欢迎回来｡
‫我们刚刚了解了前两个｡
‫差不多是三种, 因为我们也提到过在Python中有一种复数, 但是我们讨论了主要的,
‫int和float, 还有一些数据类型｡
‫但在我们讨论这些之前, 我们忽略了一个重要的概念｡
‫这将是Python中的第一个重要术语, 事实上, 在所有编程语言中都是如此｡
‫这叫做变量｡
‫是的｡
‫那是个术语
‫现在, 如果这是你第一次学习编程语言, 你可能不知道这意味着什么, 如果这不是你第一次｡
‫这很简单, 因为所有的语言都有变量｡
‫但它们到底是什么呢？
‫变量存储的信息可以在程序中使用, 这样我们就可以保存用户输入, 比如值｡
‫也许当你登录Facebook时, 你需要保存一些信息, 比如你的个人资料图片,
‫或者你的出生日期在一个变量中｡
‫变量是我们在计算机上存储信息的方式｡
‫让我们来看看这个｡
‫如果我们把它去掉, 比如说我在创建一个测验程序｡
‫这个测验项目也许可以测量你的智商｡
‫假设你刚做了一个测验, 你发现你的智商是190, 相当高｡
‫干得好, 但我们得把这些信息存起来｡
‫我们可以用变量来实现, 在Python中, 我们所要做的就是给它取任何你想要的名字.
‫在我们的例子中, 它是智商, 我们会说智商等于190｡
‫这个智商是一个变量｡
‫这完全是我编出来的｡
‫我想叫什么都行｡
‫这也是一个变量｡
‫我们的想法是, 一旦我们给一个变量赋值, 也就是说, 我们说190会被赋值给IQ.
‫我现在可以在我的程序中随时使用它｡
‫例如, 我可以稍后在打印或确保它不是上限｡
‫我们来做指纹智商测试｡
‫如果我这样做并点击运行, 你会看到我可以使用IQ｡
‫我们可以假设一个用户做了一个测验, 发现他们的智商是190｡
‫我们可以将该信息存储在此变量中｡
‫后来, 当他们上网或者再次尝试使用这个程序时, 他们不必从头再来,
‫因为, 我们把这些信息存储在IQ中｡
‫记住我一开始说的话｡
‫程序只是被存储､ 被更改､ 被删除的数据, 这就是所有程序｡
‫变量是Python和所有语言中的重要概念｡
‫现在, 变量有时也可以称为名称｡
‫例如, 这可能是一个名字｡
‫而赋值也称为绑定｡
‫也就是说, 我们将值190绑定到这个变量上, 这样当我们在程序中请求这个变量时,
‫我们的计算机就知道如何查找这个信息｡
‫它会说, 嘿, 我知道什么是智商｡
‫我把它存储在内存中的某个地方, 它会去找它｡
‫因为它被绑定到一个值, 所以它指向这个值.
‫190记住, 这个数在内存中是以0和1的二进制形式存储的, 对吗？
‫但这对我们来说并不重要, 因为无论我们的机器如何存储它, 我们都不在乎｡
‫我们只想找回它｡
‫然后当我们把它打印出来做得很好的时候, 得到180｡
‫现在我们将在整个课程中使用变量｡
‫但是, 除了按照我们想要的方式命名变量之外, 还有一些关于如何编写好变量的最佳实践｡
‫事实上, 这些都是Python社区作为一个整体所具有的特定规则, 你只需要记住｡
‫让我们看看这些变量, 记住这是最佳实践的符号, 也就是我们所说的蛇形案例｡
‫蛇毒气是指所有字母都是小写的, 然后是空格, 它们不存在.
‫我们使用下划线的变量必须以小写或下划线开头｡
‫变量可以是带有字母､ 数字和下划线的任何内容｡
‫但请记住, 它们必须以小写字母和下划线开头, 这意味着我们可以用数字作为变量的开头｡
‫它们还区分大小写｡
‫这意味着如果我创建了一个变量, 比如说这个snake的例子, 这个变量有一个大写的E, 而不是小写的E,
‫它们将是一个不同的变量｡
‫最后, 你不能覆盖关键字｡
‫让我们举几个例子来说明一下｡
‫首先, 变量必须是蛇的形式｡
‫也就是说, 如果我想把这个用户称为IQ, 我应该在这里用下划线代替空格,
‫以确保我所在团队的程序员可以读取这个变量｡
‫这就是蛇案｡
‫变量必须以字母或下划线开头, 这样我就可以在技术上做到这一点, 然后单击“运行.”
‫这会给予我一个错误因为我改变了一个变量.
‫为了访问这个变量, 你必须这样做｡
‫Python中的下划线表示私有变量, 我们稍后会讲到.
‫但通常你的变量都是以字母开头的｡
‫是的, 你可以在这里加数字｡
‫没问题
‫这还是会起作用的｡
‫这是一个有效的变量｡
‫最后, 变量区分大小写｡
‫所以如果我用大写字母来表示用户智商｡
‫我无法访问这个｡
‫像这样是因为, 好吧, 它不存在｡
‫同样, 它区分大小写｡
‫我们必须确保我们匹配｡
‫最后, 我们不想覆盖关键字｡
‫那是什么意思？
‫Python中的关键字｡
‫例如, 它们在Python中已经有了意义｡
‫这是一个关键字｡
‫你可以看到它以蓝色突出显示, 所以如果我创建一个变量, 说print等于190, 然后我就打印了｡
‫打印｡
‫嗯嗯嗯
‫看看会发生什么｡
‫我们得到一个错误, 因为我不能真正地赋值给这个变量, 因为print已经有了意义｡
‫现在我知道你在想什么了｡
‫在Python中, 这些关键字是什么？
‫这是一个简单的谷歌搜索, 我们将在整个课程中学习这些内容｡
‫如果我们按照三个学派来研究Python关键词, 你会发现这些关键词在Python中都有各自的含义｡
‫再来一次｡
‫我们将在整个课程中学习这些内容｡
‫如果你仔细看, 它并没有那么吓人｡
‫没有那么多｡
‫随着我们的练习, 你会开始熟悉它们｡
‫但最简单的方法是区分它是关键字还是Python中的一个重要词, 你可以看到它用蓝色突出显示｡
‫一旦创建了唯一的变量, 它就会以白色突出显示｡
‫无论你在什么环境下输入代码, 只要它是为Python设置的, 都是这样｡
‫现在, 除了Python的关键字, 还有其他的东西, 比如, 我们已经学过的, int代表integer｡
‫我们要熟悉这些｡
‫因此, 对于变量, 一个很好的经验法则是, 让它们真正具有描述性, 真正说出你的意图｡
‫一个好的程序员是能够用变量很好地命名事物的人｡
‫因此, 如果一个新的开发人员来看你的代码, 它很容易理解｡
‫最后, 还可以重新分配变量｡
‫例如, 假设我们的智商是190, 然后我决定用另一个变量, 叫做用户｡
‫年龄｡
‫出于某种原因, 我想给用户H分配一个IQ除以4的值｡
‫这样行吗？
‫应该的｡
‫好吧, 我知道了
‫我是说用户年龄将等于47岁｡ 5.
‫我用智商, 也就是190, 除以4, 然后把它分配给用户年龄｡
‫我可以把这个赋值给另一个变量, 叫做用户H或者A, 再一次.
‫一､
‫运行这个和它的打印一样的东西｡
‫因此, 您可以使用变量来存储这些信息, 并在需要时随时使用｡
‫你可以在行动中使用它｡
‫您可以使用它来重新指派它｡
‫无论你的程序需要什么｡
‫在这门课的后面, 我们会学习类｡
‫类实际上有一个与此不同的约定, 我们稍后会讲到｡
‫不过, 现在我想提到两个带有变量的小陷阱, 您应该小心处理｡
‫例如, 有一个关于常数的概念｡
‫而常量是程序中永远不会改变的东西｡
‫例如, 如果我们想创建一个常数, 比如PI的值, 现在假设它是3｡ 14.
‫我们可以用大写字母来表达｡
‫这将告诉其他程序员, 嘿, 这是一个常数｡
‫此数字不会更改｡
‫我是说, 如果我们愿意, 我们可以改变它｡
‫你去那里｡
‫我只是让PI等于0, 所以它被存储为3｡ 1表示存储器｡
‫但后来我们覆盖它并重新分配它｡
‫值为零｡
‫你还是可以的｡
‫但是一个好的约定是如果你看到这个, 那就意味着这个数字或者这个值永远不应该被改变｡
‫你们将看到的另一种变量, 我们稍后会在课程中看到｡
‫看起来不像我刚刚画了双下划线, 而是两个下划线,
‫我们称之为dunder, 你可以看到, 我们有一些Python的dunder变量｡
‫现在就去
‫稍后我们将详细了解这方面的内容｡
‫但这里的想法是, 这些都是为了不被打扰｡
‫你不应该碰它们｡
‫您不应该创建带有两个下划线的变量｡
‫像这样, 叫它高｡
‫很高｡
‫并为它赋值｡
‫我的意思是, 你仍然可以｡
‫但是, 这通常不是一个好的做法, 因此您需要小心使用｡
‫但我想让你们从中学到的一点是变量是非常重要的概念和编程｡
‫变量命名是程序员最重要的技能之一｡
‫我知道这听起来很傻, 但是有很多次我读到的代码很难理解,
‫仅仅是因为程序员的描述不够｡
‫在整个课程中, 我们将学习如何命名, 使我们的代码读起来像英语｡
‫这就是编写代码的全部意义｡
‫编写代码的要点在于它是其他程序员可读和理解的｡
‫顺便说一句, 最后, 我想给你看一个小技巧｡
‫在一些代码库中, 你可能会看到一种方法, 使用类似这样的东西｡
‫等于一二三｡
‫这只是一种方法, 我们可以快速地多次赋值给变量｡
‫比如说, 如果我打印A, 然后打印B, 然后打印C, 然后运行这个程序.
‫你看到了吗？
‫我得到一, 二, 三｡
‫我们将值1赋给值2, 将值3赋给C｡
‫只是一个你可能会遇到的快速速记方法｡
‫好吧, 我会的
‫我们休息一下, 下一场见｡