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)
二、浮点型
方法:
1 1.as_integer_ratio(self) 返回该值的最简比 2 n = 0.5 3 print (n.as_integer_ratio()) 4 2.
三、字符串
每种语言 主要的操作 还是集中于对字符串以及数据集合的操作 因此 字符串的 方法比较重要
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
四、列表
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'>
五、元组
元组与列表的区别在于 元组的元素不可修改
但是 一个元组里面 有一个选项是字典的话 字典中的元素可以修改
元组的元素的元素 可以修改
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()