Python 基础数据类型
数据类型
数字,字符串,列表,元组,字典,集合
方法查看:输入int、tuple、list...,ctrl+鼠标
数字:int
记住一种方法:用二进制表示所占的位数:.bit_length()
age = 18
print(age.bit_length())
布尔值:bool
True 1 真
False 0 假
字符串:str
字符串的索引和切片
1 S = ‘ABCDEFGH’
2
3 S1 = s[0]
4 Print(s1)
5
6 切片取,顾头不顾尾
7 S3 = s[0:3]
8 Print(s3)
9
10 S5 = s[-1]
11 取倒数第一个
12
13 全部取:
14 S7 = s[0:]
15 S7 = s[:]
16 Print(s7)
17
18 取不到
19 S9 = s[0:0]
20
21 步长取:
22 S10 = s[0:5:2] #2为步长,#s[首,尾,步长]
23
24 反过来取:
25 S12 = s[4:0:-1]
26 S13 = s[3::-1]
27
28 全部到这取
29 S14 = s[-1::-1]
30 S15 = s[::-1]
字符串的操作、方法
1 S = 'alexwusir'
2
3 S1 = S.capitalize()#(首字母大写)
4
5 S2 = S.upper() #(全部大写)
6 S2 = S.lower() #(全部小写)
7
8 S3 = S.swapcase() #(大小写互换)
9
10 S = 'alex egon wusir'#(名字首字母大写)
11 S4 = S.title()
12 #结果Alex Egon Wusir
13 #空格和特殊字符,数字都可以
14
15 S5 = S.center(20) ##居中,设置宽度,空白填充
16
17 S='al\tsir'
18 S6 = S.expandtabs() #自动把\t变成空格,补充到8位(从前面数)
公共方法:
元组,字典,列表,字符串
3 Len() #测量所占长度
4 #以什么结尾
5 S = ‘alexWusir’
6 S7 = s.startswith() 判断什么开头,默认不写是全部
7 S71 = s.startswith(‘e’,2) 从2到最后
8 S71 = s.startswith(‘e’,2,5) 从2到5,不包含5
9
10 #Find
11 #通过元素找索引,找不到返回-1
12 S8 = s.find(‘w’) 查找元素,返回索引
13
14 #index
15 #通过元素找索引,找不到报错
16 S81 = s.find(‘w’)
17
18 #strip ,rstrip ,lstrip
19 #默认删除前后空格
20 S = ‘ alexWUsir ’
21 S9 = s.strip()
22
23 Username = input(‘请输入名字’)
24 If username.strip() == ‘春哥’
25
26 S=’alexwusir%’
27 删除其他
28 S=s.strip(‘%’)
29
30 #count 统计
31 S = ‘alexaa wusir’
32 S10 = s.count(‘a’)
33 Print(s10)
34
35 # split 字符串分割(字符串转换成列表)
36 S = ‘alex :wusir :taibai’
37 L = s.split(:) 以什么分割
38
39 #格式化输出
40 #Format
41 S = ‘我叫{},今年{},再说一下我叫{}’.Format(’太白’,36,’太白’)
42
43 S = ‘我叫{0},今年{1},再说一下我叫{0}’.Format(’太白’,36)#相同的不需要重写
44
45 S = ‘我叫{name},今年{age},再说一下我叫{name}’.Format(name=’太白’,age=36)
46
47 #替换
48 Replace
49 S =s.replace(“旧的”,‘新的’) 默认全替换
50 S =s.replace(“旧的”,‘新的’,1) 替换第一次出现
51
52 #is系列
name = 'dsdf455dsd'
53 name.Isalnum()#由字母或者数字
54 name.Isalpha()#只由字母
55 name.Isdigit()#只由数字
#元组 如果元组里面只有一个元素且不加,那此元素是什么类型,就是什么类型。
tu1 = (1)
tu2 = (1,)
print(tu1,type(tu1))
print(tu2,type(tu2))
tu1 = ([1])
tu2 = ([1],)
print(tu1,type(tu1))
print(tu2,type(tu2))
相互转换:
1 # int ->str
2 i = 1
3 s = str(i)
4 print(s)
5
6 # str ->int
7 s='123'
8 i = int(s)
9 print(i)
10
11 #str -->bool
12 s = ''-->False
13 s = '0'-->True
14 #非空字符串都是True
15
16 #str -->list
17 S = ‘alex :wusir :taibai’
18 L = s.split(:) # 以什么分割
19
20 #list -->str
21 #Join 用什么连接
22 Li = [‘sasda’,’dds’]
23 S = ‘++’.join(Li)
24
25 #int-->bool
26 非0 = True
27 0 =False
元组:只读列表
列表:
增:insert append extend
1 li = [1,'a','b',2,3,'a']
2 li.insert(0,55) #按照索引去增加
3 print(li)
4
5 li.append('aaa') #增加到最后
6 li.append([1,2,3]) #增加到最后
7 print(li)
8
9 li.extend(['q,a,w']) #迭代的去增
10 li.extend(['q,a,w','aaa'])
11 li.extend('a')
12 li.extend('abc')
13 li.extend('a,b,c')
14 print(li)
删
1 #列表的删
2 l1 = li.pop(1) #按照位置去删除,有返回值
3 print(l1)
4
5 del li[1:3] #按照位置去删除,也可切片删除没有返回值。
6 print(li)
7
8 li.remove('a') #按照元素去删除
9 print(li)
10
11 li.clear() #清空列表
改
1 # 列表的改
2 li = [1,'a','b',2,3,'a']
3 li[1] = 'dfasdfas'
4 print(li)
5 li[1:3] = ['a','b']
6 print(li)
查:切片去查,或者循环去查。
count(数)(方法统计某个元素在列表中出现的次数)
index(方法用于从列表中找出某个值第一个匹配项的索引位置)
1 a = ["q","w","q","r","t","y"]
2 print(a.index("q"))
sort (方法用于在原位置对列表进行排序)。
li = [1,'a','b',2,3,'a']
li.sort()
print(li)
reverse (方法将列表中的元素反向存放)。
li = [1,5,6,9,2,3,4]
li.reverse()
print(li)
字典:采用键值对(key-value)的形式存储数据,key是不可变类型,数字,字符串,元组
增
1 #增加
2 #first:
3 dict1 = {'一':1,'二':2,'三':3}
4 dict1['四']=4
5 print(dict1)
6 #second:
7 dict1.setdefault('五',5)#没有就增加,有的话什么也不做
8 print(dict1)
9
10 dict1.setdefault('五',6)#不会改变
11 print(dict1)
删
1 #删除:pop
2 # print(dict1.pop('五'))#有返回值同时删除
3 # print(dict1.pop('六','没有对应键'))#没有对应键会报错
4 # print(dict1.pop('五','没有对应键'))#没有对应键会报错
5 # print(dict1)
6 # print(dict1.pop('四','没有对应键'))#没有对应键会报错,有对应键会直接删除,不会打印’没有对应键‘
7 # print(dict1)
8
9 # dict1.popitem()
10 # print(dict1)#随机删除,返回值是元组,删除的键值,python3.6字典有排序
11
12 # dict1.clear()#清空字典
13 #
14 # del dict1['一']
15 # print(dict1)
改
1 # 改
2 dic = {"name":"jin","age":18,"sex":"male"}
3 dic2 = {"name":"alex","weight":75}
4 dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中
5 print(dic2)
查
1 dict1 = {'一':1,'二':2,'三':3}
2 for i in dict1:
3 print(i)#只打印键
4
5 for i in dict1.keys():
6 print(i)#只打印键
7
8 for i in dict1.values():
9 print(i)#只打印值
10
11 for i in dict1.items():
12 print(i)#打印键值
13
14 for k,v in dict1.items():
15 print(k,v)
16
17 print(dict1['二'])
18 print(dict1.get('二','没有这个键'))
19 print(dict1.get('五','没有这个键'))
range:指定范围,生成指定数字。
1 for i in range(1,10):
2 print(i)
3
4 for i in range(1,10,2): # 步长
5 print(i)
6
7 for i in range(10,1,-2): # 反向步长
8 print(i)