Python开发【1.4数据类型】
1、数字
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
# 创建对象 var1 = 1 var2 = 2 # 删除对象 del var1 del var1,var2
四种不同的数字类型:
-
int(有符号整型)
-
long(长整型[也可以代表八进制和十六进制])
-
float(浮点型)
-
complex(复数)
2、字符串
字符串是由数字、字母、下划线组成。
str = 'Hello World' print(str) #输出完整字符串 print(str[0]) #输出字符串中的第一个字符 print(str[2:5]) #输出字符串中第三个至第五个之间的字符 print(str[2:]) #输出从第三个开始到最后的字符串 print(str*2) #输出字符串两次 print('say: ' + str) #输出连接的字符串
转义字符:
\n
表示换行,\t
表示制表符;字符\
本身也要转义,\\
表示的字符就是\
如果字符串里面有很多字符都需要转义,就需要加很多\
,为了简化,Python还允许用r''
表示''
内部的字符串默认不转义
如果字符串内部有很多换行,用\n
写在一行里不好阅读,为了简化,Python允许用'''...'''
的格式表示多行内容
3、列表
1、特点:可重复,类型可不同
2、列表操作
列表定义
names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
列表元素访问
# 打印第一个元素 print name[0] # 打印最后一个元素 print name[-1]
切片
# 定义1个列表 names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"] # 取索引1到4的元素,包含1,不包含4 names[1:4] #取索引0到3的元素 names[:3] # 取索引3到最后1个元素 names[3:] # 每隔1个元素,取1个元素 names[0::2] names[::2]
追加元素
# 在列表结尾追加元素 names.append("Mrli") 执行结果: ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', 'Mrli']
插入元素
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy'] #在索引为2的元素前增加新的元素 names.insert(2,"Mrli") 执行结果: ['Alex', 'Tenglan', ‘Mrli’,'Eric', 'Rain', 'Tom', 'Amy']
修改元素
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy'] # 替换索引为2的元素 names[2] = 'Mrli' 执行结果: ['Alex', 'Tenglan', ‘Mrli’, 'Rain', 'Tom', 'Amy']
删除元素
# 根据索引删除对应元素 del names[2] 执行结果:
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
#删除指定元素 names.remove("Eric") 执行结果:
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
# 删除列表的最后一个元素 names.pop() 执行结果:
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom']
扩展
names2 = ['小李',‘小张’] names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy'] print names.extend(names2) 执行结果: ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
排序&翻转
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
names.sort() >>> names ['Alex', 'Amy', 'Eric', 'Rain', 'Tenglan', 'Tom', '小张', '小李'] >>> names.reverse() #反转 >>> names ['小张', '小李', 'Amy', 'Tom', 'Rain', 'Eric', 'Tenglan', 'Alex']
下标获取
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
names.index("Amy")
>>> 5
元素统计
count() 方法用于统计某个元素在列表中出现的次数 names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
names.count("Alex") >>> 1
4、元组
1、特点:有序集合,不可变对象
2.元组操作:
# 元组定义
names = ("alex"
,
"jack"
,
"eric")
#获取下标
names.index("jack")
>>> 1
#统计元素出现次数
names.count("jack")
>>> 1
5、字典
1.特点:dict是无序的,key是唯一的
2.字典操作
字典定义
info = { 'stu1101': "TengLan Wu", 'stu1102': "LongZe Luola", 'stu1103': "XiaoZe Maliya", }
增加字典元素
info["stu1104"] = "xiaozhang" >>> info >>> {
'stu1102': 'LongZe Luola',
'stu1104': 'xiaozhang',
'stu1103': 'XiaoZe Maliya',
'stu1101': 'TengLan Wu' }
删除字典元素
info = {'stu1102': 'LongZe Luola','stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliya','stu1101': 'TengLan Wu'} # 删除字典元素 info.pop["stu1101"] 执行结果: {'stu1102': 'LongZe Luola','stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliinfo} del info[“stu1102”] 执行结果: {'stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliinfo} # 随机删除字典元素 info.popitem() 执行结果: {'stu1104': 'xiaozhang'}
修改字典元素
info = {'stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliinfo} info[stu1104] = "小张"
查找字典元素
info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} "stu1102" in info >>> True info.get("stu1102") >>> 'LongZe Luola' info["stu1102"] >>> 'LongZe Luola'
dict循环
#方法1 for key in info: print(key,info[key]) #方法2 for k,v in info.items(): #会先把dict转成list,数据里大时莫用 print(k,v)
6、集合
1.特点:无序的,不重复的数据组合
2.集合操作
集合关系测试
# 创建一个数值集合 s = set([3,5,9,10]) # 创建一个唯一字符的集合 t = set("Hello") a = t | s # t和s的并集 b = t & s # t和s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
成员关系测试
x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中
其他操作
s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制 t.add('x')
添加一项
s.update([10,37,42]) 在s中添加多项 t.remove('H') 使用remove()可以删除一项: len(s) set 的长度
7、动态语言与静态语言
动态语言:变量本身类型不固定的语言
静态语言:在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错
int a = 123; // a是整数类型变量 a = "ABC"; // 错误:不能把字符串赋给整型变量