01、什么是变量
在Python中,变量的概念基本上和初中代数的方程变量是一致的。
例如:对于方程式 y=2*x,x就是变量。
当x=2时,计算结果y=4,
当x=5时,计算结果y=10。
只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。
在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。(# 表示注释)
例如:
a = 1 #变量a是一个整数。
test_007 = 'Test007' #变量test_007 是一个字符串。单引号可以表示字符
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
例如:
a = 1234 #变量a是整数
print(a) 打印输出a的结果为:1234
a = 'test_001' #变量a重新赋值为字符串
print(a) 打印输出a的结果为:test_001
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。
例如:Java是静态语言,赋值语句如下:
int a = 123; # a是整数类型变量
a = "test_123"; # 错误:不能把字符串赋给整型变量
和静态语言相比,动态语言更灵活,就是这个原因。
请不要把赋值语句的等号等同于数学的等号。比如下面的代码:
x = 10
x = x + 2
如果从数学上理解x = x + 2那无论如何是不成立的,在程序中,赋值语句先计算右侧的表达式x + 2,得到结果12,再赋给变量x。由于x之前的值是10,重新赋值后,x的值变成12。
02、变量的作用
变量用于存储要在计算机程序中引用和操作的信息。
它提供了一种用描述性名称标注数据的方法,这样读者和我们自己就可以更清楚地理解我们的程序。在实际的编写程序过程中,我们可以将变量看作保存信息的容器。它们的目的是在内存中标注和存储数据。然后,可以在整个程序中通过引用变量来使用这些数据。
形象的来说,变量就像一个盒子,里面装着一些东西,我们可以将装进来的东西通过这个盒子进行引用(相当于引用变量),也可以将盒子里面的东西替换成其他的东西(相当于是在修改变量)。
03、变量的类型
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
(1)、Python数字
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
Python支持四种不同的数字类型:
- int(有符号整型)
- long(长整型[也可以代表八进制和十六进制])
- float(浮点型)
- complex(复数)
长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。
Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。
注意:long 类型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。在 Python3.X 版本中 long 类型被移除,使用 int 替代。
(2)、Python字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
它是编程语言中表示文本的数据类型。
例如:
name = 'test_123456'
test_008 = "Test008" #双引号也可以表示字符
(3)、Python列表
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 Python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
加号 + 是列表连接运算符,星号 * 是重复操作。如下实例代码:
lists = ['test_abc', 786, 2.23, 'tom', 70.2]
tinylist = [123, 'tom']
print(lists) # 输出完整列表
print(lists[0]) # 输出列表的第一个元素
print(lists[1:3]) # 输出第二个至第三个元素
print(lists[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2) # 输出列表两次
print(lists + tinylist) # 打印组合的列表
以上实例代码逐一执行得到的输出结果如下:
(4)、Python 元组
元组是另一个数据类型,类似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
tuple = ('test_001', 786, 2.23, 'hello', 70)
tinytuple = (1234, 'hello')
print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组的第一个元素
print(tuple[1:3]) # 输出第二个至第四个(不包含)的元素
print(tuple[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2) # 输出元组两次
print(tuple + tinytuple) # 打印组合的元组
以上实例代码逐一执行得到的输出结果如下:
以下元组的重新赋值是无效的,执行时会报错,因为元组是不允许更新的。而列表是允许更新的:
tuple = ( 'test', 786 , 2.23, 'tom', 75.2 )
list = [ 'test_001', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # 元组中是非法应用,执行时会报错
list[2] = 1000 # 列表中是合法应用
print(list) # 输出更新后的列表list
以上实例代码逐一执行得到的输出结果如下:
(5)、Python 字典
字典(dictionary)是除列表以外Python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用”{ }”标识。字典由索引(key)和它对应的值value组成。
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'employee_name': 'xiaoming','code':6734, 'department': 'develop'}
print(dict['one']) # 输出键为'one' 的值
print(dict[2]) # 输出键为 2 的值
print(tinydict) # 输出完整的字典
print(tinydict.keys()) # 输出所有键
print(tinydict.values()) # 输出所有值
以上实例代码逐一执行得到的输出结果如下:
备注:本节主要讲解在Python中变量是什么,以及Python的变量类型,后续将会持续分享Python相关知识,敬请期待!