2.1 数据类型与变量
本节首先介绍Python中的数据类型、变量和常用的运算符。理解这些概念是学习使用Python的基础。
2.1.1 数据类型
数据是构成程序的基石,每种编程语言中都有数据类型的概念,本小节首先来看一下Python中几种常用的数据类型:整数、浮点数、字符串、布尔值与空值等。
1. 整数
整数就是数学上的概念,包括正整数、负整数和零。Python可以处理任意大小的整数,在程序中的表示方法和数学上的写法一模一样,例如1、100、-8080、0等。
2. 浮点数
浮点数就是数学上所说的小数,之所以称为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的。比如,1.23×109和12.3×108是完全相等的。浮点数可以用数学写法,如1.23、3.14、-9.01等。但是对于很大或很小的浮点数,就必须用科学计数法来表示,用e替代10,1.23×109就是1.23e9或者12.3e8,0.000012可以写成1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。
3. 字符串
字符串是以单引号(')或双引号(")括起来的任意文本,比如:
提示
' '或" "本身只是一种表示方式,其中的单引号与双引号并不是字符串的一部分,它们只是字符串起始和终止的标记符。因此,字符串'abc'只有a、b、c这3个字符。
如果单引号本身也是一个字符,就可以用""括起来,比如"I'm OK"包含的字符是I、'、m、空格、O、K这6个字符。
如果字符串内部既包含单引号又包含双引号,那么可以用转义字符“\”斜杠来标识,比如:
'I\'m \"OK\"!'
表示的字符串内容是:
I'm "OK"!
转义字符\可以转义很多字符。例如,\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。
4. 布尔值
除了整数、浮点数、字符串外,还有一类特殊的数据是布尔值。布尔值和它在布尔代数中的表示完全一致,布尔值只有True(真)、False(假)两种值,要么是True,要么是False。在Python中,可以直接用True、False表示布尔值(请注意字母大小写,即首字母大写)。
提示
数字中的1表示布尔值True,0表示布尔值False,其他值均不表示True与False。
如图2.1所示的就是在Python Shell环境中输出布尔值的范例。
图2.1 Python中布尔值的使用
5. 空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None就特指一个特殊的空值。
2.1.2 变量
上一小节介绍了Python中的数据类型,本小节将介绍Python中的变量。Python中变量的概念基本上和数学中的变量是一致的,只是在计算机程序中,变量不仅可以是数字或数值,还可以是任意数据类型。
变量在程序中用一个变量名表示,变量名必须是大小写英文字母、数字和下划线“_”的组合,且不能用数字开头。通过变量名可以获取变量的值,也可以对变量进行赋值。对变量赋值的意思是将值赋给变量,赋值完成后变量所指向的存储单元就存储了被赋的值。比如:
以上代码中变量num是值为1的整数,变量string_1是内容为“hi world”的字符串,变量Result是值为False的布尔值。其中,“=”在Python中是赋值符号,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同的数据类型。
虽然说我们可以使用任意符合变量命名规则的变量名,但在实际使用中还是有一些约定俗成的规则:
(1)能够望文生义。例如,“length = 3,width = 2”,一看便知是长度和宽度。
(2)大小写。例如,常量通常使用大写,而变量使用小写等。
(3)变量名的长短。虽然Python对变量名的长度没有限制,但是在使用中尽量不要使用过长的变量名。
(4)关键字。Python预先定义了一部分有特别意义的标识符,用于Python语言自身使用。这部分标识符称为关键字或保留字,在对变量命名时应避免使用保留字定义变量名,否则会引发语法错误,如下代码所示。
程序报错:不能给关键字赋值。
Python中的所有关键字列在表2.1中。
表2.1 Python中的关键字