一、数字
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\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123"
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\n"
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)
# 去除\t\n
test2 = "\t ajf;jfafj \n"
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\nasdfasdf\nadfasdf"
v2 = test1.splitlines(False)
print(v2)
25、
26、
test = "aLex"
v = test.swapcase()
print(v)
27、
![](https://i-blog.csdnimg.cn/blog_migrate/8632abf4f851ddcfb90719c9da51e7e0.png)
三、列表
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],"\t",end="")
for k,v in info.items():
print(k,v,"\t",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)