一、数字
1、数字为int,所有的功能,都存放在int中,需要查看选中int,按住ctrl后左键点击即可
2、将字符串类型转化为数字类型
#创建一个字符串类型数据 a = "123" print(type(a),a) #将字符串类型转化为int型 b = int(a) print(type(b),b)
3、进制转换与二进制的位数表示
(1)int(x, base=10)指你要将x以base进制转化成十进制数,最后得出的是一个十进制,这里base=10是默认十进制转十进制
(2)
num = "0011" #将字符串转化为数字 v = int(num,base=10) print(v) #bit_length()表示当前的二进制至少要用多少位表示 r = v.bit_length() print(r)
运行结果:
二、字符串
1、字符串为str,所有的功能,都存放在str中,需要查看选中str,按住ctrl后左键点击即可
2、capitalize() 用于使首字母大写
test = "chen" v = test.capitalize() print(v)
3、字符串中字母全部变小写可以用casefold()或者lower(),casefold比lower更强大,lower只能适用用英文字符,但casefold则适用于所有字符
test = "CHEN" v1 = test.casefold() print(v1) v2 = test.lower() print(v2)
4、
test = "ajfiaihgiahg" v = test.center(20,"中") print(v)
5、(1)ljust()和rjust()的作用和center类似,不过ljust是在右侧填充,rjust是在左侧填充
(2)zfill()和rjust作用相同,不过它只能填充0
test = "alex" v1 = test.ljust(20,"*") v2 = test.rjust(20,"*") v3 = test.zfill(20) print(v1) print(v2) print(v3)
6、
test = "aLexalexr" v1 = test.count("ex") print(v1) v2 = test.count("ex",5,6) print(v2)
7、
test = "alex" v1 = test.endswith("ex") v2 = test.startswith("ex") print(v1,v2)
8、
从指定字符串的开始往后(左闭右开)找指定字符,返回其位置,如果没有找到则返回-1
寻找还有一个index方法,但是index方法找不到会报错,因此可以忽略
test = "alexalex" v1 = test.find("ex") v2 = test.find("2222") print(v1,v2)
9、
test1 = "i am {name},age{a}" print(test1) v1 = test1.format(name = "alex",a=19) print(v1) test2 = "i am {0},age{1}" print(test2) v2 = test2.format("alex",19) print(v2)
10、
test3 = "i am {name},age{a}" v = test3.format_map({"name":"alex","a":19}) print(v)
11、
test = "welearnweknowweup1111" v = test.isalnum() print(v)
12、
test = "username email password laiying ying@q.com 123 laiying ying@q.com 123 laiying ying@q.com 123" v = test.expandtabs(20) print(v)
13、
test = "我爱学习学习使我快乐" v = test.isalpha() print(v)
14、
test = "二" v1 = test.isdecimal() v2 = test.isdigit() v3 = test.isnumeric() print(v1,v2,v3)
15、
test = "ch_111" v = test.isidentifier() print(v)
16、
test = "alexafjfakja" v = test.islower() print(v)
17、
test = "alex_print " v = test.isprintable() print(v)
18、
test = " " v = test.isspace() print(v)
19、
test = "Return True if all cased characters in S are uppercase and there is" v1 = test.istitle() print(v1) v2 = test.title() print(v2) v3 = v2.istitle() print(v3)
20、
test = "凡王之血比以剑终" print(test) v = "_".join(test) print(v)
21、
# 移除指定字符串,有限最多匹配 test = "xa" print(test) v1 = test.lstrip("xa") print(v1) v2 = test.rstrip("91exxexa") print(v2) v3 = test.strip("xa") print(v3) # 去除左右空白 test1 = " 1111 " v4 = test1.lstrip() v5 = test1.rstrip() v6 = test1.strip() print(v4) print(v5) print(v6) print(test1) # 去除 test2 = " ajf;jfafj " v7 = test2.strip() print(v7) print(test2)
22、
Python translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。
v = "asidufkasd;fiuadk;adfkjalsdjf" m = str.maketrans("aeiou",'12345') new_v = v.translate(m) print(new_v)
23、
test = "testasdsddfg" v1 = test.partition("s") print(v1) v2 = test.rpartition("s") print(v2)
24、
test = "testasdsddfg" v1 = test.split("s",2) print(v1) test1 = "asdfadfasdf asdfasdf adfasdf" v2 = test1.splitlines(False) print(v2)
25、
26、
test = "aLex" v = test.swapcase() print(v)
27、
三、列表
1、注意点
(1)特征为[ ], “,”用于分割每个元素
(2)通过list类创建对象
(3)列表中可以嵌套列表
(4)所有的基本数据类型都可以是列表的元素
(5)把列表当作一个集合,集合内部可以放置任何东西
(6)可以通过索引取值。可以通过切片取值,切片的结果也是列表。
(7)支持for循环和while循环,可以直接作为迭代对象
(8)字符串不能修改,但列表可以修改,字符串的1修改需要重新占用内存,列表可以不连续的储存,以链表的形式进行储存
(9)修改列表用列表名加索引即可,也支持切片修改。
(10)列表中的元素按照逗号进行分割,列表中列表的元素不是外部列表的元素。
(11)删除用del 加列表和对应索引
(12)列表是有序的
2、方法
(1)字符串转列表
如果直接强制转换,程序会自动帮你把字符串拆分成单个字符储存进列表中
转换对于字符串可以转换成列表而数字不可以,相当于对内部进行for循环
#强制转换 test = "alghaklhgdoahioa" v1 =list(test) print(v1) #数字转换报错 test1 = 12124141 v2 = list(test1) print(v2)
(2)列表转字符串
列表变字符串时直接输出列表整体
如果列表内的元素既有数字又有字符串,只能采用for循环,把每一个字符都转换成字符串
如果列表内只有字符串,用"".join(列表),先将列表中的元素拼接起来,然后输出即可。
(3)
li = [11,22,33,22,44] li.append(5) li.append("alex") li.append([111,222]) print(li)
(4)
li = [11,22,33,22,44] print(li) li.clear() print(li)
(5)
li = [11,22,33,22,44] v = li.copy() print(v)
(6)
li = [11,22,33,22,44] v = li.count(22) print(v)
(7)
li = [11,22,33,22,44] li.extend([14144,"真不错"]) print(li)
(8)
index()根据值获取当前值索引位置(左边优先)
li = [11,22,33,22,44] v = li.index(22) print(v)
(9)
insert()在指定索引位置插入元素(不需要中间值)
li = [11,22,33,22,44] li.insert(0,22) print(li)
(10)
pop()删除某个值(1.指定索引;2. 默认最后一个),并获取删除的值
li = [11,22,33,22,44] v = li.pop() print(li) print(v)
(11)
remove()删除列表中的指定值,左边优先(不需要中间值)
li = [11,22,33,22,44] li.remove(22) print(li)
(12)
reverse()将当前列表进行翻转(不需要中间值)
li = [11,22,33,22,44] li.reverse() print(li)
(13)
sort()列表的排序,默认升序
li = [11,22,33,22,44] li.sort() print(li) li.sort(reverse=True) print(li)
四、元组
1、注意点
(1)元组的一级元素不能被修改、不能被增加和删除,
(2)元组属于可迭代对象,可以被for循环
(3)元组的元素可以是列表和元组
(4)一般写元组的时候,在最后多加一个逗号
(5)元组可以切片
(6)在没有数字作为元素的情况下字符串、元组、列表三者可以互相转换
(7)元组是有序的
2、方法
(1)
tu = (11,22,"alex","akfdjakf",22,) v = tu.count(22) print(v)
(2)
tu = (11,22,"alex","akfdjakf",22,) v = tu.index(22) print(v)
(3)
五、字典
1、注意点
(1)字典中一个元素称作一个键值对
(2)value可以是任意类型
(3)数字、字符串、布尔值(可能和1、0重复)、元组可以作为key,但列表和字典不可以
(4)字典在保存时,以哈希表保存,列表不支持直接转化成哈希值,
(5)字典是无序的
(6)字典可以进行删除操作,是可迭代对象可以进行for循环
(7)字典默认for循环的结果只有key,字典是dict类,字典名.keys()可以循环所有的key值,把keys换成values可以循环所有的values。
2、方法
前提:
info = {"a":11,"b":22,"c":33,"d":44}
(1)
拿到所有的key和value
for item in info.keys(): print(item,info[item]," ",end="") for k,v in info.items(): print(k,v," ",end="")
(2)
(3)
v = info.get("a") print(v)
(4)
v=info.pop("a") print(v) print(info)
(5)
(6)
v = info.setdefault("k1","aaa") print(info) print(v)
(7)
info.update({"a":22}) print(info)