变量是用来存储数据的占位符。在创建变量时,计算机会在内存中为变量分配一个空间。变量可以是数字、文本、列表等。Python变量是以字母开头的标识符,即大写字母、小写字母及下画线(_),不能用数字开头。需要注意的是,Python变量名是区分大小写的,也就是说,name和NAME是两个完全不同的变量。
Python是动态语言,不需要预先声明变量的类型。变量的类型在赋值时被初始化。Python使用等号(=)为变量赋值,可以把任意数据类型赋值给变量,无论整数、字符串还是浮点数,同一个变量可以被反复赋值,如
输出结果为
当计算机执行c='hello'时,在内存中发生了什么呢?实际上,Python解释器实现了两件事:
· 在内存中创建一个名为hello的字符串;
· 在内存中创建一个名为c的变量,并且指向hello。
所谓常量,就是不变化的量。因为种种原因,Python并未提供如C/C++/Java一样的const修饰符,也就是Python中没有常量。Python的常量一般采用将变量名全大写的形式表示,虽然是约定俗成的,但终究不是长久之计。
计算机内存中存储的数据有多种类型,如使用字符串存储一个人的名字、使用数字存储他的体重等。除了字符串和数字等常规数据类型,Python作为一门高级编程语言,还有自身独有的数据类型,如字典等。
Python3有6个标准的数据类型:
· Number(数字);
· String(字符串);
· List(列表);
· Tuple(元组);
· Sets(集合);
· Dictionary(字典)。
数字
数字在Python程序中的表示方法与数学上的写法几乎一样。Python3有4种类型的数字:
· int(长整型);
· float(浮点数);
· bool(布尔值);
· complex(复数)。
浮点数也就是小数。用十六进制表示整数,使用0x前缀和0~9、a~f表示,如0x013d。布尔值只有True和False两种。
数值运算为
需要注意的是,除法运算(/)的返回值为浮点数,要想得到整数,则使用//操作符。在进行整数和浮点数的混合运算时,Python会把整数转换成浮点数。Python3的复数由实数部分和虚数部分构成,可以用a+jb或complex(a,b)表示,复数的实部a和虚部b都是浮点数。
字符串
字符串是用单引号(')或双引号(")括起来的任意文本,如'abc'表示字符串abc。如果单引号(')本身也是一个字符,就用双引号("")括起来。如果字符串内部既包含单引号(')又包含双引号("),则可以用反斜杠(\)转义。如果不想使用反斜杠转义,则可以在字符串前面添加一个r,表示原始字符串。
字符串的索引值从0开始,-1表示字符串末尾的位置,加号(+)是字符串的连接符,星号(*)用来复制字符串。需要注意的是,Python的字符串不允许被更改。
例如,编写如下源代码,即
运行结果为
列表
Python列表是任意对象的有序集合,可通过索引访问指定元素,第一个元素的索引为0,依次递增,-1表示最后一个元素。列表是Python常用的数据类型。列表中的元素类型可以不同,同一个列表中可以包含数字、字符串等多种数据类型。
列表使用方括号([])表示,使用逗号分隔各元素。与字符串一样,列表可以被索引和截取,加号(+)是列表的连接符,星号(*)表示重复操作。与字符串不同的是,列表的元素可以被更改。
编写测试代码为
运行结果为
元组
元组使用小括号(())表示,各元素使用逗号分隔,与列表类似,能够进行索引和截取。区别在于,元组中的元素不允许更改。定义一个空元组的方法为
定义只包含1个元素的元组时,需要在元素后添加逗号:
错误写法:tup=(12)。
正确写法:tup=(12,)。
编写如下代码熟悉元组的使用方法,即
运行结果为
集合
Python的集合与其他语言类似,是一个无序不重复元素集,基本功能包括关系测试和消除重复元素。与列表、元组的不同在于,集合中的元素是无序的,无法通过数字编号进行索引,且不能重复。
集合的创建方法是使用大括号({})或set()函数。需要注意的是,在创建一个空的集合时,必须使用set()函数而不能使用大括号({}),因为大括号({})表示创建一个空的字典。
编写测试代码为
运行结果为
字典
列表是有序对象的结合。字典是无序对象的集合。列表中的元素通过索引存取。字典中的元素通过键(key)来存取。字典是由一对一对的键(key):值(value)组成的无序集合,是一种映射类型,使用{}表示。其中,键必须是不可变类型,可以使用数字、字符串或元组充当,不能用列表,且在同一个字典中,键必须是唯一的。字典中的元素也是可以更改的。
编写字典测试代码为
运行结果为