python基础(二)

1、运算符

    运算符用于执行程序的代码运算,包括1>算数运算符 2>比较运算符 3>赋值运算符 4>逻辑运算符 5>成员运算符

  1> 算数运算符

  2> 比较预算符

  3> 赋值运算符

  4> 逻辑运算符

  5> 成员运算符

2、查看对象的类,或对象所具备的功能

   1>  利用type功能查代码属于哪一类  例:

   例:a:="asd"
     print(type(a))
     <type 'str'>  #可以看出a属于str类

   2>  快速看对象内所具有的功能:

  例: a ="asd"
     print(dir(a))
     ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__',.......]

   3、快速查看功能的含义及用法:

  例: a ="asd"
     help(type(a))

    4、如果给定一个功能,查类别:

    鼠标放在这个功能词上,ctrl +鼠标左键,自动定位到功能所在的类

3、基本数据类型及其常用功能

  一、整数(int)

      例:bit_length(self):   返回表示该数字的时占用的最少位数

    例:  a =4
        print( a.bit_length() )
        3

   二、字符串(str)

   1>  capitalize(self):    首字母变大写 

      例:a="asd"
         print(a.capitalize())
         Asd

    2>  center(self, width, fillchar=None):    内容居中,width:总长度;fillchar:空白处填充内容,默认无 

         例:  a="asd"
             print(a.center(5,"*"))
             *asd* 

  3>  count(self, sub, start=None, end=None):    计算字符串中子序列出现的个数

         例: a ="asd asd asd"
             print(a.count("s",0,5))        #寻找a中“as出现的次数 其中0表示从a开始5表示到s结束(空格也算一位,顾前不顾后既5>范围>=0)
              3

   4>   endswith(self, suffix, start=None, end=None):    是否以 xxx 结束   (startswith(self, prefix, start=None, end=None):  是否以xxx开始)    

       例:  a="asd fgh sgm"
          print(a.endswith("gh",0,7))   
          True

   5>  expandtabs(self, tabsize=None):     将tab转换成空格,默认一个tab转换成8个空格

        例:  a="asd	333"
          print(a.expantabs())      #其中	等同于Tab键
          asd  3333

   6>  find(self, sub, start=None, end=None):    寻找子序列位置,如果没找到,返回 -1

    从前往后找,如果找到则返回其其位置所在的号   

       例:  a="asd asd asd"
           print(a.find("d",0,5))   
          2

    7>  format(*args, **kwargs):    字符串格式化,动态参数 

         例:  a="hello {0},age {1}"        # 其中{0}、{1}是占位符   
       print(a.format("lu",26))        hello lu,age 26

   8>  isalnum(self):    是否是字母和数字的任意组合

    例:  a="123asd"
        print(a.isalnum())         
        Ture

   9>  isalpha(self):     是否是字母(全部)

    例:  a="asd"
        print(a.isalpha())
             True

   10> isdigit(self):   是否全部是数字

      例:  a="123"
          print(a.isdigit())
          True

   11> islower(self):   是否全部是小写 

        例:  a="asd"
            print(a.islower())
            True

   12、istitle(self):    是否是标题(首字母是否全部大写)     (title(self):    变成标题) 

     例:  a="The School"
          print(a.istitle())
           True

   13、isupper(self):   检验全部是否是大写  

    例:  a="ASD"
         print(a.isupper())
        True

 ***14、join(self, iterable):    连接   iterable是可迭代的   

     例:  a=["lu","xiao","jun"]
         print("_".join(a))
         lu_xiao_jun

  15、ljust(self, width, fillchar=None):   内容左对齐,右侧填充    (rjust内容右对齐,左侧填充 )    

    例:  a="asd"
        print(a.ljust(5,"*"))    #定义新字符串长度为5,右侧填充*
        asd**

   16、lower(self):     内容全部变小写  

    例:  a="ASD"
        print(a.lower())
        asd

   17、lstrip(self, chars=None):   移除左侧空白   (rstrip为移除右侧空白,strip为移除两侧空白)  

   例:   a="   asd"
       print(a.lstrip())
       asd

   18、partition(self, sep):    分割为前,中,后三部分 默认从左往右找   ( rpartition(self, sep):   分割为前,中,后三部分 从右往左找 )

    例:  a="luxiaojun"
        print(a.partition("xiao"))
       ('lu,''xiao','jun')

   19、replace(self, old, new, count=None):  替换   (其中count为从左向右找需要替换几个)

    例:  a="aabbccaa"
        print(a.replace("aa","pp",1))
        ppbbccaa

   20、 split(self, sep=None, maxsplit=None):   分割   分割后分割的东西不存在

    例: a="aaasdddsfff"
       print(split("s",1))   #默认从左分割  1是从左数第一个s
       ('aaa','dddsfff')

   21、swapcase(self):   大写变小写,小写变大写

    例:  a="AsDf"
        print(a.swapcase())
        aSdF

   22、索引用来获取字符串中特定位置的字符

    例:   a="asd"
         print(s[0])
         a

 >>>>>>>>>>>>同常用len()来获取字符串的字符数

  23、切片用于获取字符串中前几个字符

    例:a="asdfg"
      print(s[0:2])    #2>x>=0
      as

   24、循环

    例:a ="asd"  
      for i in a:
      a
       s
       d

   三、列表

     1、 列表中同样适用索引、切片、循环

     2、 列表内部提供的其他功能

1> append(self, p_object):    表示追加  

       例:  a=["asd","fgh"]
          a. append("jkl")
        print(a) 
        ['asd','fgh','jkl']

2>    count(self, value):    计算列表中子序列出现的个数    

      例:a =["asd","fgh","asd"]
        print(a.count("asd"))
        3

3>  extend(self, iterable):      批量添加数据

      a=["asd","fgh","jkl"]
       a.extend("qqq") 
      print(a)

      ['asd', 'fgh', 'jkl', 'q', 'q', 'q']

4>    index(self, value, start=None, stop=None):   索引位置

      例:a =["asd","fgh","jkl"]
        print(a.index("asd"))
        0

5>  insert(self, index, p_object):   往某一个索引的位置插入一个值       

           例:a =["asd","fgh","jkl"]
         a.insert(1,"222")
         print(a)
         ['asd','222','fgh','jkl']

6>   pop(self, index=None):  在原列表中移除掉最后一个元素,并把其赋值给新变量

       例:a =["asd","fgh","jkl"]
         b=a.pop()
         print(b)
         ['asd','fgh']

7>  remove(self, value):    移除某一元素   

       例:a =["asd","fgh","jkl"]
        b=a.remove("asd")
        print(a)
        ['fgh', 'jkl']

8>  reverse(self):   反转 

       例: a =["asd","fgh","jkl"]
          b=a.reverse()
          print(a)
          ['jkl', 'fgh', 'asd']

 4、元祖      

   特点:

    1>  元祖和列表几乎一样

    2>  列表是可以修改的,而元祖是不可以修改的

    3>  同样适用索引、len()、切片、for循环、不支持删除

   2、 列表内部提供的其他功能

    1> count(self, value): 计算元素出现的个数  

     例:a =["asd","fgh","jkl","asd"]
        print(a.count("asd"))
        2

    2> index(self, value, start=None, stop=None):  获取指定元素的索引位置  

    例:a =["asd","fgh","jkl"]
      print(a.index("asd",0,4))
      0

5、字典(指点的每一个元素都是一个键值对)

    1>  clear(self):  清除全部内容 

    例: a={"aaa":10,"bbb":20,"ccc":30}
        a.clear()
        print(a)
        {}

    2>  索引取值时,keys不存在则报错

    例:a ={"aaa":10,"bbb":20,"ccc":30}
      print(a["aaa"])
      10

    3> 循环

     例:a ={"aaa":10,"bbb":20,"ccc":30}
      for i in a:
      aaa
      bbb
      ccc  #默认输出key值

    4> 获取所有的keys、values、itmes

    例:a ={1:10,2:20,3:30}
      print(a.keys)
      print(a.values)
      print(a.itmes)

    5> get(self, k, d=None): 据key获取值,如果keys不存在,可以指定一个默认值

    

   例:a ={1:10,2:20,3:30}
     print(a.get(1))
     10

    6>  has_key(self, k): 是否有key 

   例:a ={1:10,2:20,3:30}
     print(a.has_key(1))
     True

    7> pop(self, k, d=None): 获取并在字典中移除 

   例:a ={1:10,2:20,3:30}
      b =a.pop(2) 
     print(a)
     {1: 10, 3: 30}

    8> update(self, E=None, **F):  更新   

   例:a ={1:"1",2:"2",3:"3"}
     b={7:"7"}
     print(a)
     {1: '1', 2: '2', 3: '3', 7: '7'}

 6、enumrate(自动生成一列,默认从0开始自增1)

  例:a =["电脑","鼠标","汽车"]
    for b,c in enumerate (a,1):
        print(b,c)
    (1,'电脑')
    (2,'鼠标')
    (3,'电脑')         

 7、作业

    一、元素分类

      有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}     

a =[11,22,33,44,55,66,77,88,99]
b ={"k1":[],"k2":[]}
for i in a :
    if i >66:
        b["k1"].append(i)
    else:
        b["k2"].append(i)
print (b)
{'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99]}

  二、查找

        查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
        li = ["alec", " aric", "Alex", "Tony", "rain"]
        tu = ("alec", " aric", "Alex", "Tony", "rain") 
        dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}   
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
for i in li:
    b =i.strip()
    B=b.lower()
    if B.endswith("c") and B.startwith("a"):
        print(B)
for o in tu:
    c=o.strip()
    C=c.lower()
    if C.endswith("c") and  C.startwith("a"):
        print(C)
for p in dic:
     d=dic[p].strip()
     D=d.lower()
     if D.endswith("c") and D.startwith("a"):
        print (D)
alec
aric
alec
aric
aric

   

  三、输出商品列表,用户输入序号,显示用户选中的商品
       商品 li = ["手机", "电脑", '鼠标垫', '游艇']   
li = ["手机", "电脑", '鼠标垫', '游艇']
for i,o in enumerate(li):
    print(i,o)
b=int(raw_input("请输入:"))
print(li[b])
    四、购物车

    功能要求:

  • 要求用户输入总资产,例如:2000
  • 显示商品列表,让用户根据序号选择商品,加入购物车
  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  • 附加:可充值、某商品移除购物车
1
2
3
4
5
6
goods = [
    {"name""电脑""price"1999},
    {"name""鼠标""price"10},
    {"name""游艇""price"20},
    {"name""美女""price"998},
]

   

 

原文地址:https://www.cnblogs.com/yezuhui/p/6853343.html