zoukankan      html  css  js  c++  java
  • python学习第二天

     
    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 	  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()
    简单购物商城

           

  • 相关阅读:
    Java 练习题02 (包装类 (对字符串进行排序))
    Java 练习题01(运算符)
    理解有参构造器和无参构造器的作用
    反射;获取类的字节码对象;Class类实例化对象;获取类中的公共构造方法/成员变量/成员方法并执行;暴力反射 (Java Day27)
    网络编程;InetAddress类;UDP协议和TCP协议;Socket编程;UDP编程;TCP编程 (Java Day26)
    序列化 & 反序列化
    几种常用的认证机制
    MySql交换两列
    架构设计思想
    REST资源的URL设计
  • 原文地址:https://www.cnblogs.com/gzcheng/p/9475003.html
Copyright © 2011-2022 走看看