运算符、基本数据类型
基本运算符
关系运算符:< > <= >= == !=(<>)
成员运算符:in 在;not in 不在
逻辑运算符:not and or
算术运算符:+ - * / % ** //
赋值运算符:+= -= *= ...
数字(整型) int
类型转换
int():将字符串转换成整型
i.bit_length():当前数字的二进制至少要用n位表示
字符串 str
1、capitalize() 字符串第一个字母大写
test = "hello world!" print(test.capitalize())
2 - 6、
casefold() 可以将字母之外的字符成小写
lower() 只能转换英文字母成小写
islower() 判断是否全为小写字母
upper() 把所有字符转换为大写
isupper() 判断是否全为大写字母
swapcase() 大小写转换
test = "LinChuBin" print(test.swapcase()) print(test.casefold()) t = test.lower() print(t, t.islower()) t = test.upper() print(t, t.isupper())
7 - 10、
count 字符串按照第一个参数(30)居中,其余地方填充第二个参数('*')
ljust 字符串按照第一个参数(30)左对齐,其余地方填充第二个参数('*')
rjust 字符串按照第一个参数(30)右对齐,其余地方填充第二个参数('*')
zjust 字符串按照第一个参数(30)右对齐,其余地方填充'0'(可能已经删除)
中文算一个字符
test = "mouse" print(test.center(30, '*')) print(test.ljust(30, '*')) print(test.rjust(30, '*')) test = "林xx" print(test.center(30, '*'))
11、
count 在test中查找子字符串("m"),出现的次数,从区间[start(0), end(10))中查找
test = "mouse pig mouse" print(test.count("m", 0, 10))
12 - 13、
endswith 判断test是否以参数一('m')结束,在区间[start, end)中判断
startswith 判断test是否以参数一('m')开始,在区间[start, end)中判断
test = "mouse" print(test.endswith('m', 0, 1)) print(test.startswith('m', 0, 5))
14 - 15、
在区间[start, end)中获取"mous"第一次出现的位置
find 未找到返回-1
index 未找到程序报错
test = "mousemous" print(test.find("mous", 6, 9)) print(test.index("mous", 6, 9))
16 - 17、
格式化,替换字符串中{}的内容
format 替换方式:1、传对应{}的名字替换;2、{}设置为从0开始,替换的内容按顺序填写
format_map 传一个字典,从字典里查找需要替换的内容
test = "My name is {name} and I am {age}." print(test.format(age=21, name="LinChubin")) print(test.format_map({"age":21, "name":"Linchubin"})) test = "My name is {0} and I am {1}." print(test.format(21, "LinChubin"))
18 - 19、
isalnum 判断是否全为字母、数字,返回布尔值
isalpha 判断是否全为字母、汉字,返回布尔值
test = "mouse_1201" print(test.isalnum()) test = "mouse老鼠" print(test.isalpha())
20 - 22、
判断是否为数字
isdecimal 普通数字
isdigit 普通数字 + 特殊数字(如:②)
isnumeric isdigit基础上包含汉字数字
t = "12343②" print(t.isdecimal()) print(t.isdigit()) print(t.isnumeric())
23、
expandtabs(num) 按照字符串中的制表符'\t'断句,每个制表位的间隔为num
t = "int\tstr\tlist\ttuple\tdict" print(t.expandtabs(10))
24、
isidentifier 判断是否是标识符(不检查变量名是否是关键字)
t0 = "int" #不检查是否是关键字 t1 = "abc" t2 = "1ab" print(t0.isidentifier(), t1.isidentifier(), t2.isidentifier())
25 - 28、
isprintable 判断是否不含转义字符,不包含返回Ture
isspace 判断是否全是空格
istitle 判断是否是英文标题(所有单词首字母大写)
title 转换成英文标题
t0 = "\t" t1 = "mouse" print(t0.isprintable(), t1.isidentifier())
29、
s.join(test) 将test中的元素用字符串s连接
t = "mouse" print('*'.join(t))
30 - 32、
t.lstrip(s) 在t中删除s包含的字符,从左边开始,遇到第一个不匹配的停止,默认删除空白字符
t.rstrip(s) 在t中删除s包含的字符,从右边开始,遇到第一个不匹配的停止,默认删除空白字符
t.strip(s) 在t中删除s包含的字符,从两边开始,遇到第一个不匹配的停止,默认删除空白字符
t = " \nmousemouse\n" t1 = t.lstrip() t2 = t.rstrip() t3 = t.strip("mous\n ") print("*******end*******") print(t1) print("*******end*******") print(t2) print("*******end*******") print(t3) print("*******end*******")
33 - 34、
str.maketrans(t1,t2) 创建对应关系
translate(t) 根据maketrans创建的关系进行替换
v = "abcdefgfedcba" m = str.maketrans("abcd", "1234") new_v = v.translate(m) print(new_v)
35 - 39、
partition(s) 从左边开始第一个出现的字符s做分割
rpartition(s) 从右边开始第一个出现的字符s做分割
split(s, num) 以左边开始的num个字符s做分割,并删除字符s
rsplit(s, num) 以右边开始的num个字符s做分割,并删除字符s
splitlines(bool) 按照换行符进行分割,bool传True保留\n,False不保留\n
t = "mouse,pig\ndog,cat" s = ',' print(t.partition(s)) print(t.rpartition(s)) print(t.split(s)) print(t.rsplit(s, 1)) print(t.splitlines())
41、
resplace(t1, t2, num) 替换,将str中的st1替换成st2,替换个数为num
t = "12341" print(t.replace('1', 'a', 1))
补充:
索引 test[0]
切片 test[0:2]
len(test) 返回字符个数、列表元素个数
for 变量名 in 字符串
操作
range(start, end, step) 创建连续的数字[start, end),步长为step
列表 list
中括号括起来,逗号分隔每个元素,元素可以是所有类型
可无限嵌套,可索引,可切片
以链表的方式存储
修改:
修改单个元素:索引
修改多个元素:切片
删除:
删除单个元素:del li[1]
删除多个元素:del li[1:3]
in 操作:判断元素是否在列表里
li = [120, "alxe"] v = 120 in li # True v = 'lxe' in li # False
多层索引(类似二维数组)
li = [[1, 2], [3, 2]]
则:li[1][0] = 3
类型转换:
字符串转列表
s = "alxe"
list(s)
字符串转换成列表,每个字母变成一个元素。数字不能转换成列表(可迭代对象才能转换成列表)
a)列表转字符串
li = ["alxe", 1, 2]
s = str[li]
则:s = "["alxe", 1, 2]"
b)列表元素有字符串和数字
li = ["alxe", 1, 2]
s = ""
for i in li
s = s + str(i)
c)列表元素只有字符串
li = ["alxe", "123"]
s = "".join(li)
方法:
1、
append(p_object) 在列表尾追加元素,无论p_object是什么类型,都当成一个元素
li = [3, 4] li.append([1, 2]) print(li)
2、
clear() 清空列表
li = [3, 4] li.clear() print(li)
3、
copy() 浅拷贝列表
li = [3, 4] v = li.copy() print(v)
4、
count(sub) 计算sub元素在列表中出现的次数
li = [11, 22, 44, 11, 33] v = li.count(11) print(v)
5、
extend(iterable) 扩展列表,在列表尾追加可迭代对象,可迭代对象的每个元素都当成一个元素追加进去(与append比较)
iterable 可迭代对象(字符串、列表...)
li = [3, 4] li.extend([1, 2]) print(li)
6、
index(value) 在list中从左边开始查找第一个value的索引,找不到报错
start = None, stop = None
li = [11, 22, 44, 11, 33] v = li.index(11) print(v)v = li.index(55) # 报错 print(v)
7、
insert(index, p_object) 在index之前插入元素p_object
li = [11, 22, 44, 11, 33]
print(li) li.insert(li.index(44), 33) print(li)
8 - 9、
pop(index) 删除索引为index的元素,默认删除最后一个元素,删除并获取删除的值
remove(value) 删除左边第一个值为value的元素,不返回值
li = [11, 22, 44, 11, 33] v = li.pop(3) print(v, li) v = li.remove(11) print(v, li)
10、
reverse 倒置
li = [11, 22, 33, 44] li.reverse() print(li)
11、
sort(key, reverse=False) 排序
key 涉及函数
reverse False从小到大,Ture从大到小
li = [11, 22, 44, 11, 33] li.sort() print(li)
元组 tuple
大括号括起来,字典组成元素:键值对"key": "value"
value可以是任意类型
key可以是整型、字符串、布尔值、元组,列表、字典不能作为key
可以各种嵌套
字典无序
键值对的key相同时,排在后面的键值对不显示
索引: key作为索引
删除: del info[key]
可以使用for循环
方法:
1 - 3、
dict.keys() 获取key
dict.values() 获取value
dict.items() 获取键值对,返回两个值,key、value
info = {"k1":1, "k2":2, 3:"mouse"}
k = info.keys()
v = info.values()
it = info.items()
print(k, v)
print(it)
4 - 5、
dict.clear() 清空
dict.copy() 浅拷贝
6、
@staticmethod # 直接类名.fromkeys执行
dict.fromkeys(key, value) 根据序列key创建字典,同时赋值value,带 * 号,万能参数
info = dict.fromkeys(["k1", "k2", 3], "mouse") print(info)
7、
dic.get(key, num) 获取索引为key的元素,key不存在时返回num,默认返回None
info = {"k1":1, "k2":2, 3:"mouse"}
k0 = info.get("k1", "mou")
k1 = info.get("k3", "mou")
print(k0, k1)
8、
dict.pop(key,num) 删除并返回键值,key不存在时返回num,默认返回None
dict.popitem(k) 随机删除并返回键值对
info = {"k1":1, "k2":2, 3:"mouse"}
k0 = info.pop("k2")
print(k0, info)
k1 = info.popitem()
print(k1, info)
9、
dict.setdefault(key, value) 设置键值对,如果key存在,则返回当前key的value,不存在则把key: value设置进字典
info = {"k1":1, "k2":2, 3:"mouse"}
v = info.setdefault("k3", 3)
print(v, info)
v = info.setdefault("k2", 3)
print(v, info)
10、
dict.update(key1: value1, key2: value2, ...) key存在则更新,不存在则设置
info = {"k1":1, "k2":2, 3:"mouse"}
info.update({"k1":"m", "k2":"o", "k3":"s"})
print(info)
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号