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=3646 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)

 

 



posted @ 2018-07-15 10:30  前往Python取经之路  阅读(124)  评论(0编辑  收藏  举报