• day2----python的基本类型


    本文档的大致内容:(python使用版本3.6.4)

    1 数字--int

    2 布尔--bool

    3 字符串--str

    4 元祖--()

    5  列表---['a','b']

    6 字典--{}

    运算符:

    算数:+ -  *  /   //(商的整数)   %(余数)  **(次幂)

    比较:==  !=  >= <=  < >等

    赋值:= += -= 

    逻辑运算:not  and  or

    成员运算:in   not in

    一 数字                                                                                                                                                                                                                                                                                                                                                                                                               

    数字一般在计算的时候用的多

    例如:print(2/3)     结果:0.6666666666666666           print(8/9)     结果为:0.8888888888888888

    二 布尔                                                                                                                                                                                                                                                                                                                                                                                                               

    其结果就两种 

    True 或 1    --》表示真

    False 或 0   ---》表示假

    优先级的大小:()> not > and >or

    三 字符串                                                                                                                                                                                                                                                                                                                                                                                                            

    字符串一般使用 ’ ‘或 “ ”或 ’‘’ ‘’‘ 给括起来,其中’‘’ ‘’‘在多行字符串中使用

    例如:

    msg = '''
    床前明月光,
    疑是地上霜。
    举头望明月,
    低头思故乡。
    '''
    print(msg)
    View Code

    字符串中含有 ’ 号时,其一般使用“”给括起来

    例如: msg = "My name is 星辰, I'm 22 years old!"

    3.1 字符串------增

      
    str='hello world'
    str1='!!!'
    str2='oh'
    print(str+str1)  #使用两种字符串拼接的方式,后拼接  结果 hello world!!!
    print(str2,' '+str) #使用两种字符串拼接的方式,前拼接  结果为 oh  hello world
    str=str * 3  #使用字符串乘法的方式,重复拼接  结果为 hello worldhello worldhello world
    print(str)
    View Code

    3.2 字符串-------删

      3.2.1 使用strip的方式 

      
        strip() 的用法默认删除字符串前后的空格,换行符,制表符,加上参数就能删除相应的字符串
    
        例如:strip('h')  -->依次删除首尾处出现 h  的字符,strip使用删除多个字符的情况较复杂,这理先不研究
    
        str='hello world'   print(str.strip('h '))   其结果为ello world   
    View Code

      3.2.2 strip的说明

    strip 删除是字符串收尾的字符,中间不做考虑
    例如:
    str="hello ll "

    print(str.strip("he")) #删除的字符可以从开头匹配:llo ll 注意最后的空格保留了
    print(str.strip(' ll')) #最后的空格可以不匹配:hello 后面没有空格
    print(str.strip("ll ")) #连着匹配后面的空格 :hello 后面没有空格
    print(str.strip('ll')) #在中间,原字符串不变,中间空格不能省
    print(str.strip('llo')) #在中间,字符串不变

    3.3 字符串-------改

      3.3.1使用replace的方式替

      
        例如:
    
        s="xingchen 啊林凤娇辣椒粉 xingchen 啊链接发垃圾 xingchen"
    
        s8=s.replace("xingchen","hehe")  #默认全部替换  结果为:hehe 啊林凤娇辣椒粉 hehe 啊链接发垃圾 hehe
    
        s8=s.replace("xingchen","hehe",1) #替换的数量   结果为: hehe 啊林凤娇辣椒粉 xingchen 啊链接发垃圾 xingchen
    View Code  

    3.4 字符串-------查

      3.4.1 使用索引,索引默认是从0开始的

      
        例如:
    
        str='abc'   print(str[0])  其结果为 a
    
              print(str[-1])  结果为   c
    View Code

      3.4.2 使用切片的方式,截取字符串的一段,(原则就是顾头不顾腚)s[起始索引:结束索引+1:步长]

        例如:

      
        str='abcdef'   print(str[0:3]) 或者 print(str[:3])  --> abc
    
              print(str[3:6]) 或者 print(str[3:100])  --->def
    
        采用步长的方式,默认步长是1,
    
              print(str[0:3:2])   ----》 ac
    
              print(str[-1:-4:-1]) --->fed  # -4<-1,步长使用 -
    
              print(str[-1:-4:-2]) --->fd
    View Code

      3.4.3 使用split分割的方式,结果由 str ---> list

      
       s1 = 'alex wusir taibai ritian'  print(s1.split())   ---> ['alex', 'wusir', 'taibai', 'ritian']   #默认一空格分割
    
       s2 = 'alex,wusir,taibai,ritian‘  print(s2.split(,))  ----->同上                                        #指定以,分割
    
       s3 = 'alexwusirtaibairitian'     print(s3.split('i',2)) --->['alexwus', 'rta', 'bairitian']     #指定以 i 分割,并指定两个 i,则分成了三段,按照i 出现的位置依次分割
    
       s3 = 'alexwusirtaibairitian'     print(s3.split('i',100)) --》['alexwus', 'rta', 'ba', 'r', 't', 'an']  # i最多出现了5次,因此只能分成6 段
    View Code

      3.4.4 让 list ---> str ,可以考虑使用join的方式

      
       l1=['alex','wusir','ritian']
    
       s10=' '.join(l1)          print(s10,type(s10))  ---> alex wusir ritian <class 'str'>
    
       s11='_'.join(l1)     print(s10,type(s10))  ---> alex_wusir_ritian <class 'str'>
    View Code

      3.4.5-1 通过元素找字符串的索引 ---》find

      
       s = 'alexwausir'
    
       s1=s.find("a") print(s1)    --->   0       #找到a的索引
    
       s2=s.find("al") print(s2) --->   0       #找到的第一个索引作为结果
    
       s3=s.find("ax") print(s3)  ---> -1       #找不到,返回值是-1
    View Code

      3.4.5-2 index 命令和find类似,但是找不到它会报错,而不是-1

       s = 'alexwausir'    s3=s.index("ax")  print(s3)   --》ValueError: substring not found

      3.4.6 startwith和endwith 以什么为开头或结尾   

      s = 'alexWUsir'
      # s6=s.startswith('a')
      # s6=s.startswith('alex')  #结果为True
      # s6=s.startswith('alexa')  #结果为False
      # s6=s.startswith('WU',4,) #验证WU是否在索引为4的位置,结果为True
      # s6=s.startswith('WU',4,5) #从索引4的位置到5,也即是W,查找WU的位置,结果为False 【4,5)
      #s6=s.startswith('WU',4,6) #从索引4的位置到6,也即是W,查找WU的位置,结果为True [4,6)
    View Code

    3.5 字符串的其他用法

      3.5.1 计算字符串的个数:s='abcdef'  print(len(s))  ---> 6  

         计算字符出现的个数:print(s.count('a'))

      3.5.2 判断字符串的组成

                  isalnum:由数字或者字母组成

        isdigit:由数字组成

        isalpha:由字母组成

      3.5.3 将字符串填入相应的格式内----》format

      
                  第一种用法:s = "我叫{},今年{},爱好{}"
    
               s12 = s.format('太白', '25', '女')   print(sl2) 
    
        第二种用法:s1 = "我叫{0},今年{1},爱好{2},我依然叫{0}"
    
              s13 = s1.format('太白', '25', '女')   print(sl3)
    
         第三种用法:s3 = "我叫{name},今年{age},爱好{hobby}"
    
              s14 = s3.format(age=25,hobby='girl',name='太白')   print(sl4)
    View Code

      3.5.4 字符串的大小写转化

      
        s.capitalize()  # 首字母大写其余字母小写
    
        s.title()  #非字母隔开的每个单词首字母大写
    
          例如: s_s='2alex %wusjlfj**sjflj2%tian%2%'   print(s_s.title())  结果为: 2Alex %Wusjlfj**Sjflj2%Tian%2%
    
        s.swapcase()  #大小写反转,即大写变小写,小写变大写
    
        s.upper() 全部大写 
    
        s.lower() 全部小写
    View Code

    四 元组                                                                                                                                                                                  返回头部                                                                                                                                                                                                                

      元组:只读列表,使用(),里面的内容使用逗号隔开,里面的元素不可更改,但是如果里面嵌入列表或者字典时还是可以修改的

        支持count查找某个元素的数量,例如tu.count('name')

        注意: tu=(1,)  tu=(1,2)是元组,tu(1)不是元组,是int

      4.1 单纯的元组

        不支持增、删、改,主要讲查

        4.1.1 使用for循环遍历

      
                    tu = (1, 2, 33, 'alex')
    
         for i in tu:
    
          print i
    View Code

        4.1.2 支持索引查找

         print(tu[0])  ----> 1

        4.1.3 通过index查找    

    s=('name','a','name','alex')
    print(s.index('name',1)) #从‘a'开始查找
    #支持index查找索引,不支持find
    print(s.index('name',s.index('a'))) #从a的索引位置往后查找 name

      4.2 嵌入式元组

        元组中可以有列表,可以嵌入字典,元组中的列表适用列表的方法等等

    五 列表                                                                                                                                                                                                                                                                                                                                                                                                                

      列表外面使用【】,中间元素使用逗号隔开,列表中可以嵌入列表和元组

      5.1 列表的---增

        5.1.1 append  其后面只能增加一个元素
    
          例如:s.append('nihao')   s.append(1)   s.append([1,2,3])  s.append((1,2,3))
    
        5.1.2 insert   insert(位置,元素)
    
          例如:s.insert(1,'name')
    
        5.1.3 extend  是可以迭代的
    
          例如:s=[]     s.extend('aaa')   s.extend([1,2,3])  s.extend((4,5,6))   ---->其结果为: ['a', 'a', 'a', 1, 2, 3, 4, 5, 6]
                5.1.4 extend扩展字典时,只保留key
                    s=['abc']
                    s.extend({'a':'alex'})
                    print(s) #['abc', 'a']
    View Code

      5.2 列表的---删

      
        5.2.1 pop 根据索引删除,不能根据元素删除
    
          例如:s.pop(1)
    
        5.2.2 remove 根据元素删除
    
          例如:s.remove('name')
    
        5.2.3 del 根据索引或者切片删除 del s[]
    
          例如:del s[1]    del s[0:3]
    
        5.2.4 clear清空列表内的所有元素,也即变成一个空列表
    
          例如:s.clear()
    
        5.2.5 直接使用切片的方式将一段内容清空
    
          例如: li = ['alex','wusir','eric','rain','alex']
    
             li[1:4]=''
    
               print(li)   ------>['alex','alex']
    View Code

      5.3 列表的--改

      
        5.3.1 根据索引修改
    
          例如:s[0]='nihao'
    
        5.3.2 根据切片修改  
    
          按照切片修改时,将删除切片区域的元素,并将要增加的字符串以单个字符的方式分别加入列表
    
          例如:l=['ni','wo','ta','women']
    
              l[:3]='afdfgaggga %*gaga	egtgcfjaj;fjinkjnfknk'
    
              print(l)                    -->结果:['a', 'f', 'd', 'f', 'g', 'a', 'g', 'g', 'g', 'a', ' ', '%', '*', 'g', 'a', 'g', 'a', '	', 'e', 'g', 't', 'g', 'c', 'f', 'j', 'a', 'j', ';', 'f', 'j', 'i', 'n', 'k', 'j', 'n', 'f', 'k', 'n', 'k', 'women']
    
          另1:加步长的情况,替换前后的元素必须一样多
    
            例如:l=['ni','wo','ta','women']
    
               l[:3:2]='ab'
    
               print(l)   ----->结果为:['a', 'wo', 'b', 'women']
    
          另2:使用字典替换的情况,字典的键作为元素替换到列表中,值被抛弃
    
            例如:l=['ni','wo','ta','women']
    
                l[:3]={'username':'xingchen','hobby':'girl'}
    
              print(l)   --->结果为:['username', 'hobby', 'women']
    
          另3:使用列表替换元素时,列表的每个元素成为了它的新元素
    
            例如:l=['ni','wo','ta','women']
    
               l[:3]=[11,22,33,44,'abc']
    
               print(l)      ---> [11, 22, 33, 44, 'abc', 'women']
    View Code

      5.4 列表的---查

      
       索引查  print(s[0])
    
       切片查  print(s[:3])
    
       切片加步长查 print(s[:3:2])
    
              for循环查  for i  in s:
    
             print i
    
       判断是否包含:print('a' in s)  -->显示True 或者 False
    
         当列表中嵌入列表时:print([1,2] in s)
    View Code

      5.5列表的其他方式:  

      
        # print(len(l)) # 总个数
    
        # print(l.count('a')) # 某个元素出现的次数
    
        # l1 = [1, 9, 8, 4, 3, 2, 6,]
    
        # l1.sort() # 正序排序
    
        # l1.sort(reverse=True) # 倒叙排序
    
        # l1.reverse() # 翻转,前后换位置
    
        # print(l1)
    View Code

    六 字典                                                                                                                                                                                                                                                                                                                                                                                                                

      字典:key-values存储,字典的键 必须是唯一的,不可重复,value 可以为任意数据类型或者对象。

        字典的键可以使用的数据类型:int str tuple bool

      6.1 字典的---增

        根据键增加   例如: dic=[]   dic['name']='xingchen'    #由于name键在字典中没有,所以增加,但是如果存在的话,就会修改值

        根据setdefault   例如:dic.setdefault('name','xiaobai')  #无则增加,有则不变

      6.2 字典的---删

      
        6.2.1 pop 其会返回值
    
          例如:dic.pop('name')   ---》其会返回键name对应的值
    
             dic.pop('不存在','此键不存在')   --》删除一个不存在的键,可以预定返回的值
    
        6.2.2 popitem 3.5之前是随机删除,3.6之后是删除最后一个键值对,其括号中不加入键名
    
          例如:dic.popitem()
    
        6.2.3 clear清空 例如:dic.clear()
    
        6.2.4 del 从内存层面删除这个字典  例如:del  dic
    View Code

      6.3 字典的---改

      
        6.3.1 根据存在的键名改: dic['name']='wuming'
    
        6.3.2 update 根据一个字典去更新另外一个字典
    
          例如:dic = {"name": "jin", "age": 18,"sex": "male"}
    
               dic2 = {"name": "alex", "weight": 75}
    
             dic2.update(dic)
    
             print(dic2)   ---->结果 {'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}
    View Code

      6.4 字典的---查    

     6.4.1 get 有返回值
    
          例如:dic={'name': 'jin', 'weight': 75, 'age': 18, 'sex': 'male'}
    
             print(dic.get('name1'))    -->返回None
    
             print(dic.get('name1','没有此键'))   --》返回 没有此键
    
     
    
            6.4.2 for循环查 默认遍历字典的键 keys(),还可遍历字典的值 values()  键值对items()
    
          例如:for i in dic:
    
              print(dic[i])
    
            另:可以键,值分别赋值给变量
    
              for key  val  in dic.items():
    
                print(key val)
    
         6.4.3  使用键名查   dic['name']
    
         6.4.4  包含查询     print('name' in dic)
    View Code

      6.5 字典的其他用法

        fromkeys的用法

        例如:     

    dic=dict.fromkeys('abc',[]) #fromkeys命令建立一个列表,建立一个键值对后,它们指向的是同一个内存
    print(dic) #{'a': [], 'b': [], 'c': []}
    dic['c'].append(666) #给一个键赋值,其他的也赋了同样的值
    print(dic) #{'a': [666], 'b': [666], 'c': [666]}
    dic['a'].append(777)
    print(dic) #{'a': [666, 777], 'b': [666, 777], 'c': [666, 777]}
    #如何脱离这个限制
    dic['b']=[666,777]
    print(dic) #{'a': [666, 777], 'b': [666, 777], 'c': [666, 777]}
    dic['c'].append('其他')
    print(dic)  #{'a': [666, 777, '其他'], 'b': [666, 777], 'c': [666, 777, '其他']} 结果就脱离限制了
    View Code

     ****最后:在循环列表或者字典的时候,千万不要做添加或者删除操作。应借助于其他变量如列表

    例如:

    将索引为奇数对应的元素删除
    l1 = [11, 22, 33, 44, 55]
    # for i in range(len(l1)):
    #     print(i)
    #     print(l1)
    #     if i % 2 == 1:
    #         del l1[i]
    #     print(i)
    #     print(l1)
    # print(l1) #[11, 33, 44] 结果不是我们想要的
    #应使用下面方法
    for i in range(len(l1)-1,-1,-1):
        if i % 2 == 1:
            del l1[i]
    print(l1) #[11, 33, 55]
    View Code

    7其他                                                                                                                                                             返回顶部                                                                                                                                                                                                                                          

      foramt格式化

     例如  2后面两个%是为了打印%,相当于转换命令

    # job = input('请输入职业:')
    # hobbie = input('请输入爱好:')
    # msg = '''------------ info of %s -----------
    # Name : %s
    # Age : %d
    # job : %s
    # Hobbie: %s
    # ------------- end -----------------
    # ''' % (name, name, int(age), job, hobbie)
    # print(msg)

    # print('我叫%s,今年%d,学习进度2%%' % ('xingchen', 10000))

    range  范围

  • 相关阅读:
    Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用
    Mysql安装步骤
    MVC EF 移除建表时自动加上s的复数形式
    MVC autofac 属性注入
    layui table默认选中指定行
    js slice 假分页
    sql 根据身份证号码计算年龄
    pointer-events: none
    /Date(1555554794000)/ 转换为日期格式
    sql 查询字段如果为null 则返回0的写法
  • 原文地址:https://www.cnblogs.com/mmyy-blog/p/9046009.html
Copyright © 2020-2023  润新知