一、数据类型
1、列表:
# 列表中的每个元素都是可变的
# 列表的元素是有序的,
# 列表用中括号表示
ab = [ ]
# ab.insert(‘位置’,‘元素‘) ## 在指定位置插入某个元素
# ab.append() # 在末尾增加元素
# ab.remove(1) # 删除‘1‘这个元素
# ab.pop() # 默认删除列表中最后一个元素
# del ab[0:2] # 按照指定位置删除列表中的元素
# ab[1 ] = ‘xxx’ # 更改索引为1的位置的元素
# ab.index() # 获取元素的下标
# ab.count() # 获取元素出现的次数
# 字符串转列表
eg: s = 'sryrdhgdfgdg'
new_s = list(s)
print(new_s)
2、字典:
# 以键值对的形式出现
# 键不能重复,值可以重复
# key不可变,也无法修改 value是可变的,可以修改
# 以大括号表示
ab = { ‘abc’:1,‘cde’:2 }
ab.key() # 打印所有key
ab.values() # 打印所有value
ab.items() # 字典转列表
ab.update() # 扩展
ab.setdefault() #创建一个新的Key:value对,如果当前字典存在key就返回当
前的value,否则创建
ab.fromkeys() 批量生产一批Key:value的键值对
# 增加:
ab = {'rtg':[20,'nan','wuhan'],}
ab['nhy'] = [20,'y','北京']
print (ab)
# 删除:
ab.pop(‘rtg’) # 删除元素,不存在及报错
ab.get() # 查询,不存在也不会报错
3、元祖:
# 就是不可变的列表,可以查询,不可修改。
4、集合:
# 集合是无序的
# 天然去重
ab = {1,2,3,4 }
ab.add(5 ) # 添加元素
ab.discard(5) # 删除元素
ab.update() # 合并集合
ab.pop() # 删除某个元素
ab.remove() # 删除某个值,如果这个值不存在会报错
二、条件判断及循环
(1)if else
(2)while
n = 0
while n<10:
n += 1
print(n)
(3)for x in xxx
names = [‘yao’,’prng’,’wuan’]
for name in names
print(name)
## 这里需要注意
(1)、break 在循环过程中直接退出循环
(2)、continue 提前结束本轮循环,开始下一轮循环
(3)、pass # 占位符
三、其余部分字符串用法
# s.split() 以某个字符分割字符串,并以列表的形式保存
# isdigit # 判断是否是数字
# strip() # 清除头尾的空格
# replace # 替换
# s.upper # 大写
# s.lower # 小写
# s.count() # 统计扣个字符出现的次数
# s.join() # 在字符串中,按照指定元素进行分割
eg: test = "我是好人"
print(test)
t = ' '
v = t.join(test)
print(v)
#find('元素',起始,结束) 找不到的话返回-1
eg: s = 'Yaopengfei'
s8 = s.find('Peng',3,7)
print(s8,type(s8))
四、编码问题
1、ASCii 占用一个字节,只支持英文
2、GB2312 占用2个字节,支持6700+汉字
3、GBK 升级版的2312 支持21000+汉字
4、unicode 2-4字节,
(1)、支持全球所有语言,编码统一
(2)、包含和全球所有各自的编码的映射关系
本地使用使用unicode没问题,因为本地计算机内存大,不care。但存储和网络传输时数据一多,占用多了一倍就有问题了
为了解决这个问题,UTF就诞生了,既对unicode的转换
utf-8 可变长编码,使用1-4个字符,英文是1个字符,欧洲2个字节,中文3个字节,其余特殊的就是4个字节