一、字符编码
总结:
1、ASCII 8bit 1个字节(byte)
2、GBK 16bit 2个字节
3、Unicode 32bit 4个字节
4、Utf-8(针对Unicode的可变长度字符编码)
(1)英文字符 8bit 1个字节
(2)汉字 24bit 3个字节
(3)生僻的字符 4-6字节
二、Python中的数据类型
1、int 整形
2、bool 布尔
3、str 字符串(不可变)
4、list 列表
5、tuple 元组(不可变)
6、dict 字典
7、set 集合
1. int
bit_length() 整形的二进制位数(长度)
a = 5
print(a.bit_length())
2. bool
bool(object) # 返回对象的真假(True or False)
什么样的对象时False呢?
None,空对象('', [], (), {}, set()),即空的字符串、列表、元组、字典、集合都为False。这里需要注意 ' ' ,含有空格的字符串,值为True。
排除以上False的对象,其他都是True
3. 字符串
3.1 索引切片
索引:下标从0开始
切片:str[起始位置:结束位置:步长] 结果不包括结束位置索引处元素,步长可以是正数,可以是负数。
s = 'hello world' print(s[0:5]) print(s[0:5:2]) print(s[5:0]) print(s[5:0:-1]) print(s[-1:-6:-1]) # 输出结果 hello hlo 不能取 olle dlrow
3.2 字符串操作
1. capitalize # 字符串首字母大写
2. title # 字符串中被特殊字符分隔的部分,每部分首字母大写(中文也被当作特殊字符处理)
3. upper # 字符串中小写字母变大写
4. lower # 字符串中大写字母变小写
5. strip # 去掉字符串首尾空格,也可以自己指定字符
6. replace # 字符替换
7. split # 使用字符串中的指定符号分割字符串,以列表形式返回结果
8. find # 查找,返回匹配部分的第一个字符的索引位置;匹配不到,返回-1
9. len # 返回字符串长度
s = 'say hEllo woRld' print(s.capitalize()) #Say hello world print(s.title()) #Say Hello World print(s.upper()) #SAY HELLO WORLD print(s.lower()) #say hello world print(' hello world '.strip()) #hello world print(s.replace('say', 'speak')) #speak hEllo woRld print(s.split()) #['say', 'hEllo', 'woRld'] print(s.find('hE')) #4 print(s.find('H')) #-1 print(len(s)) #15
不常用:
1. swapcase # 大小写互相转换,字符串中大写变小写,小写变大写 2. lstrip # 去掉左边空格 3. rstrip # 去掉右边空格 4. casefold # 字符串中大写字母变小写,与lower类似(很少使用);lower对某些字符支持不够好,casefold对所有字符都有效
实例:
# 输出结果 SAY HeLLO WOrLD hello world hello world
4.列表的介绍:
表现形式:[ ],列表可以放大量数据,不限制数据类型,里边的内容用逗号隔开.
列表和字符串一样也有索引和切片
常用功能:
增:
append(): 给列表追加元素,添加的元素放在列表末尾
insert(index,object): 把元素插入到列表的index位置,涉及到元素的移动
extend(): 迭代添加,括号里可以是字符串也可以是一个列表,将字符串或列表里的每一个元素依次添加到原列表的末尾
append():
1 lst = ["周杰伦", "王力宏", "周润发"] 2 lst.append("伍佰") # 向列表中添加一个元素, 元素放在末尾. 把一个元素追加到列表的末尾 3 print(lst)
insert():
1 lst = ["周杰伦", "王力宏", "周润发"] 2 lst.insert(1, "马化腾") # 把元素插入到指定位置. 元素的移动 3 print(lst)
extend():
1 lst = ["周杰伦", "王力宏", "周润发"] 2 lst.extend(["马云", "王健林", "李嘉诚"]) # 迭代添加 3 print(lst)
删:
pop(): 删除列表的最后一个元素,可以用一个变量来接受被删除的元素
pop(index): 删除列表index位置的元素
remove(object): 删除指定元素,但只删除列表的第一个指定元素,其余的不删
clear(): 清除列表里的全部元素,使之变成一个空列表
del 列表名[index1 : index2 : 步长 ]: 切片删除,有固定的格式,删除index1到index2的内容,后边可以选择切片的方向
pop():
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 e = lst.pop() # 返回删除的元素, 删除最后一个 3 print(e)
remove():
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 lst.remove("大白梨") 3 print(lst)
clear():
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 lst.clear() 3 print(lst)
del():
1 lst = ["盖伦", "大白梨", "提莫", "大白梨"] 2 del lst[1:] 3 print(lst)
改:
1.索引修改 通过列表索引来拿到对应的值进行修改操作
2.切片修改 迭代修改
索引修改:
1 lst = ["太白", "五色", "银王", "日天"] 2 lst[0] = "太黑" 3 print(lst) 4 lst[2] = "银角大王" 5 print(lst)
切片修改:
1 lst[1:3] = "马化腾" # 迭代修改 2 print(lst) 3 lst[1:3] = ["周杰伦", "他媳妇", "王力宏媳妇"] 4 print(lst)
查:
列表是⼀一个可迭代对象, 所以可以进行for循环
1 lst = ["舒克贝塔", "黑猫警长", "熊大熊二", "葫芦娃", "吴佩琪"] 2 for el in lst: # element 3 print(el)
常用操作:
count(): 查询字符出现次数
sort(): 把列表元素进行排序
len(): 计算长度
count():
1 lst = ["太白", "太黑", "五色", "银王", "日天", "太白"] 2 c = lst.count("太白") # 查询太白出现的次数 3 print(c)
sort():
1 lst = [1, 11, 22, 2] 2 lst.sort() # 排序. 默认升序 3 print(lst) 4 lst.sort(reverse=True) # 降序 5 print(lst)
len():
1 l = len(lst) # 列表的长度
2 print(l)
列表的嵌套:
采用降维操作.一层一层的看就好.
1 lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王健林"]] 2 3 # 找到wusir 4 print(lst[2]) 5 6 # 将wusir拿到. 然后首字母大写. 再扔回去 7 lst[2] = lst[2].capitalize() 8 print(lst) 9 10 # 把太白换成太黑 11 lst[1] = lst[1].replace("白", "黑") 12 print(lst)
四.元组的介绍:
元组的介绍:
不可变的列表. 只读列表. 有索引和切片.
不可变的是它内部子元素. 如果子元素是列表. 列表中的元素是可以变的.
元组的基本操作:
1 tu = (1, "太白", "李白", "太黑", "怎么黑") 2 print(tu) 3 4 print(tu[0]) 5 print(tu[2]) 6 print(tu[2:5]) # 切片之后还是元组 7 8 9 10 # for循环遍历元组 11 for el in tu: 12 print(el)
>>>>>>小提示:元组也有count() , sort() , len() 等操作
三.range
range介绍:
作用:数数
有一个参数:结束为止
两个参数: 1. 起始位置, 2.结束位置
三个参数: 1. 起始位置, 2. 结束位置. 3.步长
range基本应用:
1 #range() 应用: 2 for i in range(10): # 从0开始. 到10结束 3 print(i) 4 5 for i in range(3, 7): # 从3 开始. 打印到7结束. 不能到7 6 print(i) 7 8 for i in range(3, 10, 2): # 从3 到 10 每2个取一个 9 print(i) 10 11 for i in range(10, -10, -1): #从10 开始到-10结束. 倒着数 12 print(i)
计算:
1 # 求1-2+3-4...+99-100=? 2 sum = 0 3 for i in range(1, 101): 4 if i % 2 == 0: 5 sum = sum - i 6 else: 7 sum = sum + i 8 print(sum)