首先在 Visual Studio Code 编辑器打开一个新的终端,然后输入 python3
命令,进入 Python 交互式环境 REPL,我们可以在这个环境中输入一些 Python 代码。
在开始学习 Python 的语法规则之前,我们有必要先了解下编程的本质
是什么?编程的本质就是将现实世界的问题抽象成计算机可以理解和处理的模型,这个过程就是编程,所以我们写的代码其实也是用来反映现实世界的。
比如现实世界中有非常多的事物,比如人、动物、物体等等,我们要如何在代码中表示这些事物呢?这里就引出了编程语言中一个非常重要的概念 - 变量
。我们可以将变量
比喻为一个存储空间,或者说是一个标签
,它可以附加在数据上,你可以将变量想象成一个盒子,我们可以在里面放东西(数据),也可以从中取出东西,或者更换里面的东西。
变量是编程语言中的基本概念,用于存储数据,我们可以将数据存储在变量中,然后在程序中使用这些变量。
比如我们定义一个变量名 name
,直接在 Python REPL 中输入 name
后回车,正常这个时候会报错。
$ python3 Python 3.12.2 (main, Feb 6 2024, 20:19:44) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> name Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'name' is not defined
可以看到会提示 name is not defined
,这是因为我们还没有定义这个变量。这其实也很好理解,因为 name
这个变量需要我们程序员来定义,告诉计算机这个变量是用来存储什么数据,这样计算机才能够正确的处理这个变量,如果我们不明确告诉计算机这个变量是什么,那么计算机就无法处理这个变量,因为计算机不知道你想要做什么。
比如我们可以将字符串 fastclass
存储在变量 name
中,在 REPL 中输入如下代码:
name = "fastclass"
然后回车,这样我们就定义了一个变量 name
,并将字符串 fastclass
存储在这个变量中,然后我们再输入 name
,回车,就可以看到变量 name
中存储的数据了。因为现在我们已经定义了这个变量的值了,所以计算机可以正确的处理这个变量。
>>> name = "fastclass" >>> name 'fastclass'
这里我们定义的 name
叫做变量名,fastclass
叫做变量值,变量名和变量值之间用 =
连接,表示将变量值赋值给变量名。
需要注意的是 Python 是一种动态类型的语言,这意味着你不需要事先声明数据的类型,Python 解释器会在运行时自动推断,比如我们这里定义的 name
这个变量并没有指定数据类型,但是 Python 解释器会根据赋值的数据类型自动推断出 name
是一个字符串类型的变量。
同样因为 Python 的动态特性,变量可以在程序运行期间改变其类型。通过简单地给变量赋予一个新的数据就可以实现了。
x = 100 # x 是整数 print(x) x = "Python" # 现在 x 是字符串 print(x)
另外要注意变量名的命名规则,变量名只能包含字母、数字和下划线,不能以数字开头,不能包含空格和特殊字符
,不能使用 Python 的关键字作为变量名。
>>> name100 = "fastclass" >>> _name = "fastclass" >>> web-name = "fastclass" File "<stdin>", line 1 web-name = "fastclass" ^^^^^^^^ SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='? >>> 100name = "fastclass" File "<stdin>", line 1 100name = "fastclass" ^ SyntaxError: invalid decimal literal >>> name! = "fastclass" File "<stdin>", line 1 name! = "fastclass" ^ SyntaxError: invalid syntax >>> if = "fastclass" File "<stdin>", line 1 if = "fastclass" ^ SyntaxError: invalid syntax
当然也不用特别担心,当你的命名不符合规范时,Python 会给出相应的错误提示,让你知道哪里出了问题。
另外需要注意变量名应具有描述性,例如,使用 name
而不是 n
,使用 total_price
而不是 tp
,这样可以提高代码的可读性,我们一定要养成良好的编程习惯。