python数据格式_Python数据类型

一.数字类型

1.bin()函数将十进制转换为二进制

1198836-20180928110416881-2118734200.png

2.oct()函数将十进制转换为八进制

1198836-20180928110510507-2039617565.png

3.hex()函数将十进制转换成十六进制

1198836-20180928110543698-771767805.png

4.数字类型的特性:

1)只能存放一个值

2)一经定义,不可更改

3)直接访问

分类:整型,布尔,浮点,复数

二.字符串类型

1.引号包含的都是字符串类型

1198836-20180928110946794-499258395.png

2.单引双引没有区别

1198836-20180928111004290-1980972618.png

3.字符串的常用操作:

1 #name='egon' #name=str('egon')

2 #print(type(name))

3

4

5 #优先掌握

6 #1.移除空白strip

7 #msg=' hello '

8 #print(msg)

9 #print(msg.strip())

10 #移除‘*’

11 #msg='***hello*********'

12 #msg=msg.strip('*')

13 #print(msg)

14 #移除左边的

15 #print(msg.lstrip('*'))

16 #移除右边的

17 #print(msg.rstrip('*'))

18

19 #用处

20 whileTrue:21 name=input('user:').strip()22 password=input('password:').strip()23 if name == 'egon' and password == '123':24 print('login successfull')25

26

27

28 #切分split

29 #info='root:x:0:0::/root:/bin/bash'

30 #print(info[0]+info[1]+info[2]+info[3])

31

32 #user_l=info.split(':')

33 #print(user_l[0])

34

35 #msg='hello world egon say hahah'

36 #print(msg.split()) #默认以空格作为分隔符

37

38 #cmd='download|xhp.mov|3000'

39 #cmd_l=cmd.split('|')

40 #print(cmd_l[1])

41 #print(cmd_l[0])

42 #print(cmd.split('|',1))

43

44 #用处

45 whileTrue:46 cmd=input('>>:').strip()47 if len(cmd) == 0:continue

48 cmd_l=cmd.split()49 print('命令是:%s 命令的参数是:%s' %(cmd_l[0],cmd_l[1]))50

51

52

53

54

55 #长度len

56 #print(len('hell 123'))

57

58

59 #索引

60 #切片:切出子字符串

61 #msg='hello world'

62 #print(msg[1:3]) #1 2

63 #print(msg[1:4]) #1 2 3

64

65

66

67 #掌握部分

68 oldboy_age=84

69 whileTrue:70 age=input('>>:').strip()71 if len(age) ==0:72 continue

73 ifage.isdigit():74 age=int(age)75 else:76 print('must be int')77

78

79

80

81

82 #startswith,endswith

83 #name='alex_SB'

84 #print(name.endswith('SB'))

85 #print(name.startswith('alex'))

86

87

88 #replace

89 #name='alex say :i have one tesla,my name is alex'

90 #print(name.replace('alex','SB',1))

91

92 #print('my name is %s my age is %s my sex is %s' %('egon',18,'male'))

93 #print('my name is {} my age is {} my sex is {}'.format('egon',18,'male'))

94 #print('my name is {0} my age is {1} my sex is {0}:

95 {2}'.format('egon',18,'male'))

96 #print('my name is {name} my age is {age} my sex is {sex}'.format(

97 #sex='male',

98 #age=18,

99 #name='egon'))

100

101

102 #name='goee say hello'

103 ## print(name.find('S',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引

104 ## print(name.index('S')) #同上,但是找不到会报错

105 #106 #print(name.count('S',1,5)) #顾头不顾尾,如果不指定范围则查找所有

107

108

109 #join

110 #info='root:x:0:0::/root:/bin/bash'

111 #print(info.split(':'))

112

113 #l=['root', 'x', '0', '0', '', '/root', '/bin/bash']

114 #print(':'.join(l))

115

116

117 #lower,upper

118 #name='eGon'

119 #print(name.lower())

120 #print(name.upper())

121

122

123 #了解部分

124 #expandtabs

125 #name='egon\thello'

126 #print(name)

127 #print(name.expandtabs(1))

128

129

130 #center,ljust,rjust,zfill

131 #name='egon'

132 ## print(name.center(30,'-'))

133 #print(name.ljust(30,'*'))

134 #print(name.rjust(30,'*'))

135 #print(name.zfill(50)) #用0填充

136

137

138 #captalize,swapcase,title

139 #name='eGon'

140 #print(name.capitalize()) #首字母大写,其余部分小写

141 #print(name.swapcase()) #大小写翻转

142 #msg='egon say hi'

143 #print(msg.title()) #每个单词的首字母大写

144

145

146 #在python3中

147 num0='4'

148 num1=b'4' #bytes

149 num2=u'4' #unicode,python3中无需加u就是unicode

150 num3='四' #中文数字

151 num4='Ⅳ' #罗马数字

152

153

154 #isdigt:str,bytes,unicode

155 #print(num0.isdigit())

156 #print(num1.isdigit())

157 #print(num2.isdigit())

158 #print(num3.isdigit())

159 #print(num4.isdigit())

160

161 #isdecimal:str,unicode

162 #num0='4'

163 #num1=b'4' #bytes

164 #num2=u'4' #unicode,python3中无需加u就是unicode

165 #num3='四' #中文数字

166 #num4='Ⅳ' #罗马数字

167 #print(num0.isdecimal())

168 ## print(num1.)

169 #print(num2.isdecimal())

170 #print(num3.isdecimal())

171 #print(num4.isdecimal())

172

173 #isnumeric:str,unicode,中文,罗马

174 #num0='4'

175 #num1=b'4' #bytes

176 #num2=u'4' #unicode,python3中无需加u就是unicode

177 #num3='四' #中文数字

178 #num4='Ⅳ' #罗马数字

179 #180 #print(num0.isnumeric())

181 ## print(num1)

182 #print(num2.isnumeric())

183 #print(num3.isnumeric())

184 #print(num4.isnumeric())

185

186

187

188

189 #is其他

190 #name='egon123'

191 #print(name.isalnum()) #字符串由字母和数字组成

192 #name='asdfasdfa sdf'

193 #print(name.isalpha()) #字符串只由字母组成

194 #195

196 #name='asdfor123'

197 #print(name.isidentifier())

198 name='egGon'

199 print(name.islower())200 #print(name.isupper())

201 #print(name.isspace())

202 name='Egon say'

203 print(name.istitle())204

205

strip()移除空白,也可以去除其他的字符

slipt()分割,默认以空格分割。也可以以其他的字符分割

len()长度 切片:如print(x[1:3])也是顾头不顾尾

print(x[0:5:2])#0 2 4

capitalize()首字母大写

center()居中显示例如:x='hello' print(x.center(30,'#'))

count():计数,顾头不顾尾,统计某个字符的个数,空格也算一个字符

endswith()以什么结尾

satrtswith()以什么开头

find()查找字符的索引位置,如果是负数,代表查找失败

index()索引

format()字符串格式化

1.msg='name:{},age:{},sex:{}'

print(msg.format('lin',18,'男'))

2.msg='name:{0},age:{1},sex:{0}'

print(msg.format('aaaaaa','bbbbbb'))

3.msg='name:{x},age:{y},sex:{z}'

print(msg.format(x='lin',y='18',z='男'))

isdigit()判断是否是数字

islower()判断是否是全部小写

isupper()判断是否是全部大写

lower()全部转换为小写

upper()全部转换为大写

isspace()判断是否是全都是空格

istitle()判断是否是标题(首字母大写)

swapcase()大小写字母翻转

join()连接

repalce()替换

msg='hello alex'

print(msg.replace('e'),'A',1)

print(msg.replace('e'),'A',2)

ljust()左对齐

X='ABC' print(x.ljust(10,'*'))

4.字符串格式化说明

%s既能接受字符串,也能接受数字

%d只能接受数字

5.字符串的切片

切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。

格式: [start:end:step]

[:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串

[start:] 从start 提取到结尾

[:end] 从开头提取到end - 1

[start:end] 从start 提取到end - 1

[start:end:step] 从start 提取到end - 1,每step 个字符提取一个

左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1

举例:

输入一个字符串,返回倒序排序的结果,:如:‘abcdef’ 返回:'fedcba'

1 #方式一:将字符串翻转,步长设为-1

2 defre_sort():3 s = input('请输入一串字符串:>>')4 return s[::-1] #从开头到结尾步长为-1

5 #obj = re_sort()

6 #print(obj)

7

8 #方式二:借助列表进行翻转

9 defre_sort2():10 s = input('请输入一串字符串:>>')11 li =[]12 for i ins:13 li.append(i)14 li.reverse() #将列表反转

15 return ''.join(li) #将列表转化成字符串

16 obj2 =re_sort2()17 print(obj2)

三.列表

1198836-20180928112103702-1775187587.png

1 l=[1,2,3] #l=list([1,2,3])

2 #print(type(l))

3

4 #pat1===》优先掌握部分

5 #索引:l=[1,2,3,4,5]

6       print(l[0]) 7 #切片

7 l=['a','b','c','d','e','f']8

9 #print(l[1:5])

10 #print(l[1:5:2])

11 #print(l[2:5])

12 #print(l[-1])

13

14

15 #了解

16 #print(l[-1:-4])

17 #print(l[-4:])

18 #l=['a','b','c','d','e','f']

19 #print(l[-2:])

20

21 #追加

22 #hobbies=['play','eat','sleep','study']

23 #hobbies.append('girls')

24 #print(hobbies)

25

26 #删除

27 hobbies=['play','eat','sleep','study']28 #x=hobbies.pop(1) #不是单纯的删除,是删除并且把删除的元素返回,我们可以用一个变量名去接收该返回值

29 #print(x)

30 #print(hobbies)

31

32 #x=hobbies.pop(0)

33 #print(x)

34 #35 #x=hobbies.pop(0)

36 #print(x)

37

38 #队列:先进先出

39 queue_l=[]40 #入队

41 #queue_l.append('first')

42 #queue_l.append('second')

43 #queue_l.append('third')

44 #print(queue_l)

45 #出队

46 #print(queue_l.pop(0))

47 #print(queue_l.pop(0))

48 #print(queue_l.pop(0))

49

50

51 #堆栈:先进后出,后进先出

52 #l=[]

53 ##入栈

54 #l.append('first')

55 #l.append('second')

56 #l.append('third')

57 ##出栈

58 #print(l)

59 #print(l.pop())

60 #print(l.pop())

61 #print(l.pop())

62

63 #了解

64 #del hobbies[1] #单纯的删除

65 #hobbies.remove('eat') #单纯的删除,并且是指定元素去删除

66

67

68 #长度

69 #hobbies=['play','eat','sleep','study']

70 #print(len(hobbies))

71

72 #包含in

73 #hobbies=['play','eat','sleep','study']

74 #print('sleep' in hobbies)

75

76 #msg='hello world egon'

77 #print('egon' in msg)

78

79

80 ##pat2===》掌握部分

81 hobbies=['play','eat','sleep','study','eat','eat']82 #hobbies.insert(1,'walk')

83 #hobbies.insert(1,['walk1','walk2','walk3'])

84 #print(hobbies)

85

86 #print(hobbies.count('eat'))

87 #print(hobbies)

88 #hobbies.extend(['walk1','walk2','walk3'])

89 #print(hobbies)

90

91 hobbies=['play','eat','sleep','study','eat','eat']92 #print(hobbies.index('eat'))

93

94

95 #pat3===》了解部分

96 hobbies=['play','eat','sleep','study','eat','eat']97 #hobbies.clear()

98 #print(hobbies)

99

100 #l=hobbies.copy()

101 #print(l)

102

103 #l=[1,2,3,4,5]

104 #l.reverse()

105 #print(l)

106

107 l=[100,9,-2,11,32]108 l.sort(reverse=True)109 print(l)

四.元祖

1198836-20180928112301967-345026279.png

1 #为何要有元组,存放多个值,元组不可变,更多的是用来做查询

2 t=(1,[1,3],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2)))

3 #print(type(t))

4

5

6 ##元组可以作为字典的key

7 #d={(1,2,3):'egon'}

8 #print(d,type(d),d[(1,2,3)])

9

10

11

12

13 #切片

14 #goods=('iphone','lenovo','sanxing','suoyi')

15 #print(goods[1:3])

16

17

18

19 #长度

20

21 #in:

22 #字符串:子字符串

23 #列表:元素

24 #元组:元素

25 #字典:key

26

27 #goods=('iphone','lenovo','sanxing','suoyi')

28 #print('iphone' in goods)看的是里面的元素在不在里面

29

30 #d={'a':1,'b':2,'c':3}

31 #print('b' in d) 看的是key在不在d里面

32

33

34

35 #掌握

36 #goods=('iphone','lenovo','sanxing','suoyi')

37 #print(goods.index('iphone'))

38 #print(goods.count('iphone'))

39

40

41 #补充:元组本身是不可变的,但是内部的元素可以是可变类型

42 t=(1,['a','b'],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2)))

43

44 #t[1][0]='A'

45 #print(t)

46 #t[1]='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'

五.字典

1198836-20180928112447428-1618371160.png

1 #字典的表示方法:

2 info_dic={'name':'lin','age':18,'sex':'male'}3 #常用操作:

4 #5 1.存/取6 info_dic={'name':'egon','age':18,'sex':'male'}7 print(info_dic['name11111111'])#找不到则报错了

8 print(info_dic.get('name',None))9 print(info_dic.get('name222222',None))#get方法找不到不报错,可以自己设定默认值

10

11 #pop:key存在则弹出值,不存在则返回默认值,如果没有默认值则报错

12 #print(info_dic.pop('nam123123123123123123e',None))

13 #print(info_dic)

14

15 #print(info_dic.popitem())

16 #print(info_dic)

17

18 #info_dic['level']=10

19 #print(info_dic)

20

21 #22 #删除

23 info_dic={'name':'egon','age':18,'sex':'male'}24 #info_dic.pop()

25 #info_dic.popitem()

26

27 #del info_dic['name']

28

29

30 #31 #键s,值s,键值对

32 info_dic={'name':'egon','age':18,'sex':'male'}33 #print(info_dic.keys())

34 #print(info_dic.values())

35 #print(info_dic.items())

36

37 #for k in info_dic:

38 ## print(k,info_dic[k])

39 #print(k)

40

41 #print('========>')

42 #for k in info_dic.keys():

43 #print(k)

44

45 #for val in info_dic.values():

46 #print(val)

47

48 #for k,v in info_dic.items(): #k,v=('name', 'egon')

49 #print(k,v)

50

51

52

53 #长度

54 #info_dic={'name':'egon','age':18,'sex':'male'}

55 #print(len(info_dic))

56 #57 #循环

58 #59 #包含in

60

61 #info_dic={'name':'egon','age':18,'sex':'male'}

62 #print('name' in info_dic)

63 #print('name' in info_dic.keys())

64 #print('egon' in info_dic.values())

65 #print(('name','egon') in info_dic.items())

66

67

68

69 #掌握

70 info_dic={'name':'egon','age':18,'sex':'male'}71 #info_dic.update({'a':1,'name':'Egon'})

72 #print(info_dic)

73

74 #info_dic['hobbies']=[]

75 #info_dic['hobbies'].append('study')

76 #info_dic['hobbies'].append('read')

77 #print(info_dic)

78

79 #setdefault:key不存在则设置默认值,并且放回值默认值

80 #key存在则不设置默认,并且返回已经有的值

81

82 #info_dic.setdefault('hobbies',[1,2])

83 #print(info_dic)

84 #info_dic.setdefault('hobbies',[1,2,3,4,5])

85 #print(info_dic)

86

87 #info_dic={'name':'haiyan','age':18,'sex':'male'}

88

89 #{'name':'egon','age':18,'sex':'male','hobbies':['study']}

90 #info_dic.setdefault('hobbies',[]).append('study')

91

92 #{'name':'egon','age':18,'sex':'male','hobbies':['study','read']}

93 #info_dic.setdefault('hobbies',[]).append('read')

94

95 #{'name':'egon','age':18,'sex':'male','hobbies':['study','read','sleep']}

96 #info_dic.setdefault('hobbies',[]).append('sleep')

97 #l=info_dic.setdefault('hobbies',[])

98 #print(l,id(l))

99 #print(id(info_dic['hobbies']))

100

101 #print(info_dic)

102

103

104

105 #了解

106 #d=info_dic.copy()

107 #print(d)

108 #info_dic.clear()

109 #print(info_dic)

110

111

112 #d=info_dic.fromkeys(('name','age','sex'),None)

113 #print(d)

114 #d1=dict.fromkeys(('name','age','sex'),None)

115 #d2=dict.fromkeys(('name','age','sex'),('egon',18,'male'))

116 #print(d1)

117 #print(d2)

118

119

120

121

122 #info=dict(name='haiyan',age=18,sex='male')

123 #print(info)

124

125 #126 #info=dict([('name','haiyan'),('age',18)])

127 #print(info)

六.集合

作用:去重,关系运算

定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则:

1.每个元素必须是不可变类型(可hash,可作为字典的key)

2.没有重复的元素

3.无序

注意集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结集合中的单个值

1198836-20180928112845869-835551028.png

in 和 not in

|并集(print(pythons.union(linuxs)))

&交集(print(pythons.intersection(linuxs)))

-差集(print(pythons.difference(linuxs)))

^对称差集(print(pythons.symmetric_difference(linuxs)))

==

>,>= ,<,<= 父集(issuperset),子集(issuberset)

1 #========掌握部分=======

2 linuxs={'six','wu','dabao'}3 linuxs.add('xiaoxiao')#说明set类型的集合是可变类型

4 linuxs.add([1,2,3])#报错,只能添加不可变类型

5 print(linuxs)6

7 #2.

8 linuxs={'six','wu','dabao'}9 res=linuxs.pop() #不用指定参数,随机删除,并且会有返回值

10 print(res)11 #3.

12 res=linuxs.remove('wupeiqi')#指定元素删除,元素不存在则报错,单纯的删除,没有返回值,

13 print(res)14 #4.

15 res=linuxs.discard('egon1111111111') #指定元素删除,元素不存在不报错,单纯的删除,没有返回值,

16 #=========了解部分=========

17 linuxs={'wupeiqi','egon','susan','hiayan'}18 new_set={'xxx','fenxixi'}19 linuxs.update(new_set)20 print(linuxs)21 linuxs.copy()22 linuxs.clear()23

24

25

26 #解压

27

28 a,*_={'zzz','sss','xxxx','cccc','vvv','qqq'}29 print(a)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值