什么是变量?在百度百科中,变量的解释是:
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过……
这是一段很长很长的解释,其实,作者认为没必要这么机械式的去理解。简单说,变量就是一个“盒子”,这个“盒子”可以装一些数据,当然,这些数据的类型可以是任意的,因为归根结底,任何类型的数据在内存中的表示都是二进制0、1组合。
变量的使用
先从一段代码说起:
1 | a = 123 |
最后输出:
1 | a + b = 579 |
代码中就使用了三个变量:a
、b
和c
,并在print
中使用。第1行a = 123
就创建了一个变量,变量名为a
,2、3行同样也创建了变量,不同的是,变量a
和b
整数型的,而变量c
的类型是字符串类型,这不同于C语言,在C语言中,使用变量之前是需要“声明”类型的,而在python中,在通过等号=
赋值后,就创建了一个变量,变量的类型是python自动识别的。
创建变量
前面说过,变量在赋值后被创建,赋值运算符是等号=
,等号=
左边是变量名,右边是存储在变量中的值。变量创建后,可以同过变量名来使用变量。例如:
1 | name = 'Mike' |
赋值运算符是从右往左执行的,在c = a + b
中,先对右边的a + b
求值,在赋值给变量c
。
读者可以复制上面代码,保存到文件再运行试试。
多个变量赋值
python可以同时给多个变量赋值,比如:
1 | a = b = c = 1 |
前面说到了,赋值运算符是从右往左执行的,而赋值语句本身也是有值的,语句a = 1
的值是1
,学过C语言的同学或许很清楚,所以上面例子等价于:
1 | c = 1 |
注意咯,a = b = c
是等价于a = b;b = c
(在同一行中写两句以上代码可用分号;
分开),而不是等价于a=c;b=c
,其实只要记住了 “赋值运算符是从右往左执行的” 这句话就OK了。
还有一种多个变量同时赋值的操作,像这样:
1 | a, b, c = 1, 2, 'hello' |
显而易见,右边的值1
、2
、'hello'
依次分配给a
、b
、c
。
变量命名规则
变量的命名可不是爱怎么来就怎么来的,是有一定的语法规则的:
- 变量名使用的字符必须是字母、数字、或者下划线
_
- 变量名的第一个字符不可以是数字
- 不能使用关键字作为变量名
这三条规则几乎在所有计算机语言中通用,变量名使用的字符只能是字母a~z
或大写A~Z
,数字0~9
,或者下划线_
,并且第一个字符不可以是数字。
针对第三点,在计算机语言中,会有一些有特殊意义,用于语法的单词,称为 “关键字”,您可以在python的交互式解释器中输入help('keywords')
查看python的所有关键字,还是演示一下吧:
1 | help('keywords') |
让我们看看几个例子,以下几个变量名是有效的:
1 | counter |
而以下几个变量名是无效的:
1 | 1ae 变量名不能以数字开头 |
变量命名规范
注意小标题,是 “规范”,不是 “规则”,这是不一样的,规则是人家python定死的,必须遵守,否则就是语法错误了,而规范是人们的一种共识,方便的是人,相信我,按照规范来,你会感谢我的<( ̄︶ ̄)>
一些常见的命名规范如下:
- 变量名尽量有意义,如
name
表示存储名字的变量 - 单词用小写,单词之间用下划线隔开,如
my_name
,或者用“驼峰命名法”,即除第一个以外的单词的首字母大写,如myName
,最好不要混合使用。
这仅仅是变量的命名规范,在程序中还有很多要命名的东西,如函数、类、包……现在就先到这,等讲到了会一一说明的。
注释
不知道读者是否有注意到,前文讲变量的创建的时候,有一行这样的代码:
1 | print(a, '+', b, '=', c ) # 123 + 456 = 579 |
上面有一行# 123 + 456 = 579
作者并没有解释,而运行过代码的同学会发现,程序输出123 + 456 = 579
,难道加了这句程序就输出这个?现在请读者把# 123 + 456 = 579
一句删除再运行试试……
怎么回事?程序的输出和之前一样?这东西到底是何方神圣?作者就不再绕关子了,这行字符叫做 “注释”,它的有无对程序的运行没有任何影响,它是为了在程序中解释代码的用途,方便人理解用的。
注释的使用
python的注释有多种方式,话不多说,在这里直接上代码:
1 | # 这是单行注释 |
终于写完了<( ̄︶ ̄)>
,下期再见……