变量与类型
变量
变量的最原始作用是存储数据,当一个数据不需要立刻使用,或者之后还会反复使用时,我们可以将其存储在一个变量中,在使用的时候再访问这个变量即可。
一个变量相当于一个箱子,赋值操作就是把数据装进箱子里,访问的时候把数据拿出来即可。
创建变量与赋值
创建变量并不需要任何特别的操作,变量在第一次赋值时被创建,也就是第一次运行类似x = ...
的语句的时候。我们用单个=
表示赋值,=
左边是变量名称,右边是要赋值的数据,可以加任意多的空格,也可以不加空格。例如x=1
就是将变量x
赋值为1
。
访问变量
假如我们已经创建了变量x
,那么在任何地方用单词x
就可以访问变量x
。例如:
python
x = 1
print(x)
y = x
z = x + 1
print(x, y, z)
当然,如果x
不是独立的单词,而是在一个单词中,例如xyz
,那么就不会访问x
这个变量,而是会访问xyz
这个变量(如果没有创建这个变量就会报错)。有时候可能你想表示x
、y
、z
相乘,按照数学公式的写法直接写了xyz
,那么就会出现问题。
变量的命名
上面的示例都是一个字母为变量名称,但实际上变量名称并没有长度限制。变量的命名要符合几个规则:(1) 只能包含字母、数字、连字符_
;(2) 不能以数字开头。
练习. 下列哪些名称符合变量命名规则:(1) xy_zw23
;(2) _xyz123x
;(3) 12x_yz
。
答案是(1)、(2),由于不能以数字开头,所以(3)是错误的。
在一行代码中出现的最长的满足上述命名规则的文本会被视作一个变量,也就是所谓的一个单词。例如你定义了x1y2
和z3
,而你后续的代码中出现了x1y2z3
,那么Python不会将其视作两个变量,因为这6个字符组成了一个单词,会视作一个变量,从而可能导致报错。
类型
变量的类型和变量的值一样,也是变量的属性。变量的类型会告诉解释器如何处理这个变量相关的运算。比较典型的例子是int
类型与float
类型的区别:
python
print(2)
print(2.0)
尽管2
和2.0
从数学上看是一样的,但是由于前者是整型的(也就是视作整数),后者是浮点型的(视作小数),因此输出方式并不一样。
Python是弱类型语言(与强类型对立),也就是说,变量创建时不需要指明类型,并且其类型可以被动态地改变。换言之,变量的类型属性也属于可"变"的部分。因此你可以运行下列代码:
python
x = 2
print(x)
x = 2.0
print(x)
x = '2.0'
print(x)
在这个代码中,x
的类型被改变了三次,分别是int
、float
、str
。
内置类型
Python中常用的内置类型主要为:
- 数:整型
int
、浮点型float
- 判断:布尔型
bool
- 文本:字符串型
str
- 容器:列表
list
、元组tuple
、字典dict
、集合set
在之后的文章中我们再会详细讲解容器类型。
布尔型
我们知道一个命题有"真"和"假"两种状态,对应的英文单词是true
和false
。在Python中我们用True
来表示真,用False
来表示假。例如
python
print(2 > 3)
这里>
是比较运算符,之后会讲到的。这里会输出一行False
,也就是2 > 3
的运行结果是False
。之后在学习if
语句的时候就知道,布尔型实际上就是if
语句接受的类型,用来控制流程分支。
字符串型
字符串就是文本,用户和程序在命令行交互时就是通过输入和输出字符串进行的。在Python中,字符串的内容用两个引号括起内部的文本表示,例如'Hello World'
、"Hello Python"
等等,但两个引号必须同为单引号或同为双引号,一个单引号和一个双引号是不允许的,例如'Hello World"
。关于字符串的更多内容会在后文中讲到。
类型转化
你可以用类型名称进行强制类型转化,例如
python
x = 2
y = float(x)
print(x)
print(y)
此时x
是整型的2
,而y
是浮点型的2.0
。同理,你还可以进行如下操作
python
x = '2'
y = int(x)
z = float(y)
w = str(z)
print(x)
print(y)
print(z)
print(w)
此时x
是字符串2
、y
是整型2
、z
是浮点型2.0
、w
是字符串2.0
。
常量表示
Python中实际上没有其他语言的所谓常量的概念,这里说的常量表示是指在运行前就确定好的量。例如2
、3.0
、'Hello World'
、True
都属于常量表示。每个常量表示都有其固定的类型,用这些常量表示赋值一个变量就可以将变量的类型变为该类型,这一点从前文的代码示例中可以看出。因此,读者须牢记每个常用的常量表达式的类型,这是变量的最基本的内容。
本文复习
-
变量是什么
- 变量的命名规则是什么
- 如何创建并赋值变量
- 如何访问变量的内容
-
类型是什么
- 有哪些基本类型
- 类型存在的意义是什么
- 如何进行类型转换
- 整型和浮点型是什么,你知道哪些常量表示
- 布尔型是什么,其常量表示有哪些
- 字符串型是什么,你知道哪些常量表示