pyhton数据类型学习

python中 一切都是对象 对象都是由类创建的 

一 整型

方法:

 1 1.bit_length ()  返回该数转换为二进制数的最小占位
 2     n = 11
 3     print (n.bit_length())
 4 2.__abs__() 返回绝对值
 5      n = -11
 6      print (n.__abs__())
 7 3.divmod() 相除得到商和余数的元组
 8    print (n.divmod(n,y))
 9 4.整数的构造方法
10    n = 11 或者 n = int(11)
int

二、浮点型

方法:

1 1.as_integer_ratio(self)  返回该值的最简比
2    n = 0.5 
3    print (n.as_integer_ratio())
4 2.
float

三、字符串

每种语言 主要的操作 还是集中于对字符串以及数据集合的操作 因此 字符串的 方法比较重要 

 1 1.__contains__()  判断包含
 2   name = 'gzc'
 3   print (name.__contains__())
 4 2.capitalizes()  开头小写换大写
 5    name = ‘gzc’
 6    print (name.capitalize())
 7 3.center() 填充
 8     name.center(20,'*')
 9 4.count()
10      name.count('z')
11 5.encode
12    name='郭增程'
13    name.encode('gbk')
14 6.endswith() 统计最后是否是否以某个子序列结束 可规定从那开始判断
15    name.endswith('z',1)
16 7.expandtabs()  tab键 换位空格 默认8个空格
17    n = a \t  b
18    print(n.expandtabs())
19 8.find() 查找子序列
20    没有 返回 -1  有返回 下标
21 9.index() 查找子序列
22   没有的话 会报错
23 10.format()  字符串格式化
24 另外一种方法是使用%   不使用加号的原因在于 每加一次 都要开辟一次内存 而且之前开辟的内存并不会 清空
25 >>> n = 'a' {0} 'c' {1}
26   File "<stdin>", line 1
27     n = 'a' {0} 'c' {1}
28             ^
29 SyntaxError: invalid syntax
30 >>> n = 'a' '{0}' 'c' '{1}'
31 >>> print n.format ('d','e')
32 adce
33 >>> n = 'a' '{m}' 'c' '{n}'
34 >>> print n.format(m='c',n='c')
35 accc
36 11.join() 拼接
37 >>> li = ['s','b']
38 >>> print ''.join(li)
39 sb
40 >>> print '-'.join(li)
41 s-b
42 12.ljust()  rjust() 类似与center 放于左右的u区别
43 >>> n ='gzc'
44 >>> n.ljust(10,'*')
45 'gzc*******'
46 >>> n.rjust(10,'*')
47 '*******gzc'
48 13.lstrip() rstrip()  
49 14.splitlines()
50 >>> a='''
51 ... adadad
52 ... dadad
53 ... dadda
54 ... '''
55 >>> print a.splitlines()
56 ['', 'adadad', 'dadad', 'dadda']
57 15.replace()
58 >>> n ='gzc'
59 >>> print n.replace('g','z')
60 zzc
61 >>> n='zzc'
62 >>> print n.replace('z','c',2)
63 ccc
64 16.swapcase()大小写替换
65 17.partition()
66 print n.partition('z')
67 18.title()  首字母大写的 为title
str

 四、列表

1.移除空白 strip 2.分割 split 3.长度 len 4. 索引 indexp[] 5. 切片 

1.append()
>>> li.append(5)
>>> li
[1, 2, 3, 4, 5]
2.extend() 扩展序列
>>> st = [5,6,7]
>>> li.extend(st)
>>> li
[1, 2, 3, 4, 5, 5, 6, 7]
3.insert()
>>> li.insert(9,0)
>>> li
[1, 2, 3, 4, 5, 5, 6, 7, 0]
4.pop()
>>> li.pop(8)
0
>>> li
[1, 2, 3, 4, 5, 5, 6, 7]
5.remove()
>>> li.remove(5)
>>> li
[1, 2, 3, 4, 5, 6, 7]
6.reverse()
>>> li
[1, 2, 3, 4, 5, 6, 7]
>>> li.reverse()
>>> li
[7, 6, 5, 4, 3, 2, 1]
7.list构造
>>> li = [1,2,3]
>>> type(li)
<type 'list'>
>>> li = list((1,2,3))
>>> type(li)
<type 'list'>
list

 

五、元组

元组与列表的区别在于  元组的元素不可修改 

但是 一个元组里面 有一个选项是字典的话 字典中的元素可以修改 

元组的元素的元素 可以修改

t = (11,22,{'k1':'v1'})

t[2]['k1'] = 2

元组的方法 列表都有

六、字典

字典是无序的 

作业:

简单购物商城的实现:

商品展示 价格

买 加入购物车

超额 钱不够  减少商品

流程图:

代码:

 1 #-*- coding:UTF-8 -*-
 2 
 3 def shangp():
 4     for i,n in sp.items():
 5         print i ,n 
 6 def goum():
 7     tf=raw_input('是否购买商品:(y/n)?')
 8     if tf == 'y':
 9         xuanz()
10     else:
11         zaij()
12 def xuanz():
13     while True:
14         xz = raw_input('请选择:')
15         if xz in sp.keys():
16             li.append(xz)
17             jixu()
18         else:
19             print ('您选择的商品不存在,请重新选择!')
20             xuanz()
21 def jixu():
22     jx = raw_input('是否继续购买:(y/n)?')
23     if jx == 'y':
24             shangp()
25 
26             xuanz()
27     else:
28         jiezhang()
29 def jiezhang():
30     for j in li:
31         m=sp[j]
32         ++m
33     qsp(m)
34 def qsp(m):
35     if m <= money:
36         zaij()
37     else:
38         for w in li:
39             print w
40         e=raw_input ('已超额,请选择你要去掉的商品:')
41         li.remove(e)
42         jiezhang()
43 def zaij():
44     print ('再见')
45     exit()
46 if __name__ == '__main__':
47     huanyin = '欢迎'
48     print huanyin.center(20,'*')
49     money=2000
50     sp = {
51         'k1':3,
52         'k2':5,
53         'k3':6,
54         'k4':7,
55         '手机':1000,
56         '电脑':100000
57     }
58     li=list()
59     shangp()
60     goum()
简单购物商城

 

       

posted on 2018-08-14 17:01  大侠之运维  阅读(112)  评论(0编辑  收藏  举报