Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
共六个标准的数据类型:
不可变数据:Number(数字)、String(字符串)、Tuple(元组);
可变数据:List(列表)、Dictionary(字典)、Set(集合)
内置的 type() 函数可以用来查询变量所指的对象类型。
一、数字类型(Number)
python中数字有四种类型:整数(int)、布尔型(bool)、浮点型(float)和复数(complex)。复数的实部a和虚部b都是浮点型。
在混合计算时,Python会把整型转换成为浮点数
可以使用del语句删除一些数字对象的引用。
二、字符串(String)
python中单引号和双引号使用完全相同;三引号(''' 或 """)指定多行字符串。
反斜杠\ 可以用来转义,使用r可以让反斜杠不发生转义。
Python中的字符串不能改变,向某个索引位置赋值,比如word[0] = 'm'会导致错误。
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
三、列表(List)
列表元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [ ] 之间、用逗号分隔开的元素列表。元素访问:list [0],索引从0开始。
① 列表同样可以被索引和截取(规则同字符串),列表被截取后返回一个包含所需元素的新列表。
② 列表中的元素是可以改变的,因此可对列表中的元素进行修改或更新;
③ 可以使用 append( ) 方法来添加列表项;
④ 列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表;
⑤ 可以使用 del 语句来删除列表中的元素 ;
列表解析:
## 条件列表解析式
L = [x*2 for x in range(100) if x%2 == 0]
四、元组(Tuple)
元组写在小括号 ( ) 里,元素之间用逗号隔开。
tup1 = ('Go', 'Run', 19, 20)
tup2 = "a", "b", "c", "d" # 不需要括号也可以
构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
元组也是序列,所以我们可以访问或截取元组中的元素。
元组中的元素不能修改,但我们可以使用 +对元组进行连接组合;也可以使用 * 进行复制。
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。
五、集合(Set)
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set( ) 函数创建集合。
注意:创建一个空集合必须用 set( ) 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:parame = {value01,value02,...} 或者 set(value)
添加元素:s.add( x ) 将元素 x 添加到集合 s 中,如果元素已存在,则不进行任何操作。s.update( x ) 也可以添加元素,且参数可以是列表,元组等,x 可以有多个,用逗号分开。
移除元素:s.remove( x ) 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。 s.discard( x ) 也可移除集合中的元素,且如果元素不存在,不会发生错误。
s.pop( )可以设置随机删除集合中的一个元素。
计算集合元素个数:len(s)
清空集合:s.clear( )
判断元素是否在集合中存在:x in s 存在返回 True,不存在返回 False。
六、字典(Dictionary)
列表是有序的对象集合,字典是无序的键(key) : 值(value)集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用 { } 标识,{ }创建空字典;
键必须是唯一的,但值不必;键必须使用不可变类型,值可取任何数据类型。
构造函数 dict( ) 可以直接从键值对序列中构建字典;
把相应的键放入到方括号中,可访问字典里的值。
修改已有键值对、增加新的键/值对:
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8 # 更新 Age
dict['School'] = "菜鸟教程" # 添加信息
删除字典元素、清空或删除字典:
del dict['Name'] # 删除键 'Name'
dict.clear() # 清空字典
del dict # 删除字典
获取字典的所有值、所有键、所有键值对:
# 字典获取所有的值:dic.values()
# d = {'name': 1, 'zge': 2, 'a': 123}
# print(d.values())
# 字典获取所有的键:dic.keys()
# d = {'name': 1, 'zge': 2, 'a': 123}
# print(d.keys())
# 获取字典的键值对:dic.items()
# d = {'name': 1, 'zge': 2, 'a': 123}
# print(d.items())
其它字典函数
get()函数返回指定键的值:dict.get(key,value) ,其中value参数可选
七、切片操作(slice)
Python中的列表,字符串,元组都支持切片。
切片对象的索引方式包括:正索引(从左往右以 0 开始)和负索引(从右往左以 -1 开始)。
![](https://i-blog.csdnimg.cn/blog_migrate/38624e7ba3ee1fb091778054b031ddb2.png)
切片操作基本表达式:变量[头下标:尾下标:步长]
step为正表示“从左往右”取值,step为负表示“从右往左”取值。当step省略时,默认为1,即从左往右以增量1取值。