Python 3 中有六个标准的数据类型:
Number (数字)
String (字符串)
LIst (列表)
Tuple (元祖)
Sets (集合)
Dictionary (字典)
1,Number (数字)
Python 3 支持 int、float、bool、complex(复数)。
int:整数
float:浮点数用来处理实数,即带有小数的数字。
bool(布尔型判断真假):0(假)1(真)
使用内置的 type() 函数可以用来查询变量所指的对象类型。
#!/usr/bin/env python
#-*-coding:utf-8 -*-
a,b,c,d = 20,5.5,True,4+3j
print(type(a),type(b),type(c),type(d))
# 输出:
2,String (字符型)
Python 中的字符串用单引号(’)或双引号(“)括起来,同时使用反斜杠(\)转义特殊字符。
字符串切片语法格式
变量[头下标:尾下标]
注意:头部从0开始,尾部从-1 开始
简单操作示列
加号(+)是字符串的连接符,星号(*)表示复制当前字符串,紧跟的数值为复制的次数
#!/usr/bin/env python
#-*-coding:utf-8 -*-
str = "ZeroMr"
print(str) # 输出字符串 ZeroMr
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 ZeroM
print(str[0]) # 输出字符串第一个字符 Z
print(str[2:5]) # 输出从第三个开始到第五个的字符 roMr
print(str[2:]) # 输出从第三个开始后的所有字符 roMr
print(str * 2) # 输出字符串两次 ZeroMrZeroMr
print(str + "TEST") # 连接字符串 ZeroMrTEST
Python 是用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串的前面添加一个 r ,表示原始字符串。
常用转义符
转义字符 | 作用描述 | 重要程度 |
---|---|---|
\ | 续行符 | 5* |
\\ | 反斜杠符号() | 5* |
\' | 单引号 | 5* |
\" | 双引号 | 5* |
\n | 换行符 | 5* |
\t | 横向制表符 | 5 * |
\r | 续行符 | 5* |
示例
print("Ze\noMr")
#Ze
#noMr
print(r"Ze\noMr") #Ze\noMr
print("Ze\roMr") #oMr \r后的字符移到行首,同等数量地替换行首字符
print(r"Ze\roMr") #Ze\roMr
3,List (列表)
List(列表)是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号” [] “之间、用,逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
names = ["aaron", "alex", "james", "meihengfan"]
names2 = [1,2,3,4,5]
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
列表增删改查常用方法:
查:
切片查询:
print(names[3]) #访问列表中第4个值
print(names[1:3]) #访问列表中从第2个到第3个的值
print(names[-1]) #访问列表中的最后一个值
names.index()方法 查询元素标签
print(names.index("james")) ## 输出结果:2
len()函数 统计列表元素个数
print(len(names)) ##4
增
names.append("元素") 方法 在末尾插入一个元素
names.append("dwl")
print(names) ## 输出结果: ["aaron", "alex", "james", "meihengfan","dwl"]
names.insert(1,"fanheng") 插入元素方法 1 表示插入位置 ,插入的元素的位置在下标的前面
names.insert(2,"zhangyi")
print(names) ## ["aaron", "alex", “zhangyi”,"james", "meihengfan","dwl"]
改
根据下表 直接命名修改
name[3] = "kobe"
print(names) ## ["aaron", "alex", “zhangyi”,"kobe", "meihengfan","dwl"]
删
names.remove("元素") 指定元素移除
del names[2] 指定下标移除元素
del names 直接删除列表
names.pop() 默认删除列表最后一个元素 或者者下标删除,并且可以弹出赋值
names.pop()
print()
names.pop(1)
name3 =names.pop()
其他操作:
names.count(元素) 统计某个元素的出现次数
names.reverse() 列表元素反转
names2=names.copy 复制一个新的列表 注意这是一个浅拷贝 源数据 二层修改会跟着修改
深copy需要 import copy
names2 = deepcopy.copy(names)
排序
names.sort() 列表永久排序 排序规则根据acsii
临时排序
print(sorted(names))
合并列表
names.extend(names2) 将 names2 合并进names1
同时列表可以包含列表
names = ["aaron", "alex", “zhangyi”,"kobe", ["dwl","yedong","bbb"],"meihengfan","dwl"]
修改可以通过
names[4][2] = kobe 这样去修改
4,元组
元组相当于不可变列表,一旦创建就无法改变
表示方法:
变量名=()
相关方法
变量名.index 查询下标
变量名.count 查询元素出现的个数
5,字典
字典一种key - value 的数据类型
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
info = {
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}
增
info["stu1104"]="Changjingkong" ## 注意双引号
print(info)
改
info["stu1103"]="龙责罗拉" ## 如果是key 那么就修改相关值
print(info)
删
info.pop("stu1103") ##pop key 删除键值对
del info["stu1103"] ## 下标key 删除
查
>>> info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'}
>>>
>>> "stu1102" in info #标准用法
True
>>> info.get("stu1102") #常用get用法
'LongZe Luola'
>>> info["stu1102"] #同上 下标获取
'LongZe Luola'
>>> info["stu1105"] #如果一个key不存在,就报错,get不会,不存在只返回None
Traceback (most recent call last):
File "", line 1, in
KeyError: 'stu1105'
常用方法
1 radiansdict.clear()##删除字典内所有元素
2 radiansdict.copy()##返回一个字典的浅复制
3 radiansdict.fromkeys()##创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4 radiansdict.get(key, default=None) ##返回指定键的值,如果键不在字典中返回 default 设置的默认值
5 key in dict ##如果键在字典dict里返回true,否则返回false
6 radiansdict.items()##以列表返回可遍历的(键, 值) 元组数组
7 radiansdict.keys()##返回一个迭代器,可以使用 list() 来转换为列表
8 radiansdict.setdefault(key, default=None)##和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9 radiansdict.update(dict2)##把字典dict2的键/值对更新到dict里
10 radiansdict.values() ##返回一个迭代器,可以使用 list() 来转换为列表
11 pop(key[,default]) ##删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
12 popitem()##随机返回并删除字典中的最后一对键和值。
6,集合
集合(set)是一个无序的不重复元素序列,天生去重
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
difference() 返回多个集合的差集
difference_update() 移除集合中的元素,该元素在指定的集合也存在。
discard() 删除集合中指定的元素
intersection() 返回集合的交集
intersection_update() 返回集合的交集。
isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
issubset() 判断指定集合是否为该方法参数集合的子集。
issuperset() 判断该方法的参数集合是否为指定集合的子集
pop() 随机移除元素
remove() 移除指定元素
symmetric_difference() 返回两个集合中不重复的元素集合。
symmetric_difference_update() 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
union() 返回两个集合的并集
update() 给集合添加元素