zoukankan      html  css  js  c++  java
  • Python数据类型

    一.数字类型

    1.bin()函数将十进制转换为二进制

    2.oct()函数将十进制转换为八进制

    3.hex()函数将十进制转换成十六进制

    4.数字类型的特性:

            1)只能存放一个值  

            2)一经定义,不可更改

              3)直接访问

     分类:整型,布尔,浮点,复数

    二.字符串类型

    1.引号包含的都是字符串类型

    2.单引双引没有区别

    3.字符串的常用操作:

      

      1 # name='egon' #name=str('egon')
      2 # print(type(name))
      3  
      4  
      5 #优先掌握
      6 #1.移除空白strip
      7 # msg='             hello         '
      8 # print(msg)
      9 # print(msg.strip())
     10 # 移除‘*’
     11 # msg='***hello*********'
     12 # msg=msg.strip('*')
     13 # print(msg)
     14 #移除左边的
     15 # print(msg.lstrip('*'))
     16 #移除右边的
     17 # print(msg.rstrip('*'))
     18  
     19 #用处
     20 while True:
     21     name=input('user: ').strip()
     22     password=input('password: ').strip()
     23     if name == 'egon' and password == '123':
     24         print('login successfull')
     25  
     26  
     27  
     28 #切分split
     29 # info='root:x:0:0::/root:/bin/bash'
     30 # print(info[0]+info[1]+info[2]+info[3])
     31  
     32 # user_l=info.split(':')
     33 # print(user_l[0])
     34  
     35 # msg='hello world egon say hahah'
     36 # print(msg.split()) #默认以空格作为分隔符
     37  
     38 #cmd='download|xhp.mov|3000'
     39 # cmd_l=cmd.split('|')
     40 # print(cmd_l[1])
     41 # print(cmd_l[0])
     42 # print(cmd.split('|',1))
     43  
     44 #用处
     45 while True:
     46     cmd=input('>>: ').strip()
     47     if len(cmd) == 0:continue
     48     cmd_l=cmd.split()
     49     print('命令是:%s 命令的参数是:%s' %(cmd_l[0],cmd_l[1]))
     50  
     51  
     52  
     53  
     54  
     55 #长度len
     56 # print(len('hell 123'))
     57  
     58  
     59 #索引
     60 # 切片:切出子字符串
     61 # msg='hello world'
     62 # print(msg[1:3]) #1 2
     63 # print(msg[1:4]) #1 2 3
     64  
     65  
     66  
     67 # 掌握部分
     68 oldboy_age=84
     69 while True:
     70     age=input('>>: ').strip()
     71     if len(age) == 0:
     72         continue
     73     if age.isdigit():
     74         age=int(age)
     75     else:
     76         print('must be int')
     77  
     78  
     79  
     80  
     81  
     82 #startswith,endswith
     83 # name='alex_SB'
     84 # print(name.endswith('SB'))
     85 # print(name.startswith('alex'))
     86  
     87  
     88 #replace
     89 # name='alex say :i have one tesla,my name is alex'
     90 # print(name.replace('alex','SB',1))
     91  
     92 # print('my name is %s my age is %s my sex is %s' %('egon',18,'male'))
     93 # print('my name is {} my age is {} my sex is {}'.format('egon',18,'male'))
     94 # print('my name is {0} my age is {1} my sex is {0}:
     95 {2}'.format('egon',18,'male'))
     96 # print('my name is {name} my age is {age} my sex is {sex}'.format(
     97 #     sex='male',
     98 #     age=18,
     99 #     name='egon'))
    100  
    101  
    102 # name='goee say hello'
    103 # # print(name.find('S',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
    104 # # print(name.index('S')) #同上,但是找不到会报错
    105 #
    106 # print(name.count('S',1,5)) #顾头不顾尾,如果不指定范围则查找所有
    107  
    108  
    109 #join
    110 # info='root:x:0:0::/root:/bin/bash'
    111 # print(info.split(':'))
    112  
    113 # l=['root', 'x', '0', '0', '', '/root', '/bin/bash']
    114 # print(':'.join(l))
    115  
    116  
    117 #lower,upper
    118 # name='eGon'
    119 # print(name.lower())
    120 # print(name.upper())
    121  
    122  
    123 #了解部分
    124 #expandtabs
    125 # name='egon	hello'
    126 # print(name)
    127 # print(name.expandtabs(1))
    128  
    129  
    130 #center,ljust,rjust,zfill
    131 # name='egon'
    132 # # print(name.center(30,'-'))
    133 # print(name.ljust(30,'*'))
    134 # print(name.rjust(30,'*'))
    135 # print(name.zfill(50)) #用0填充
    136  
    137  
    138 #captalize,swapcase,title
    139 # name='eGon'
    140 # print(name.capitalize()) #首字母大写,其余部分小写
    141 # print(name.swapcase()) #大小写翻转
    142 # msg='egon say hi'
    143 # print(msg.title()) #每个单词的首字母大写
    144  
    145  
    146 #在python3中
    147 num0='4'
    148 num1=b'4' #bytes
    149 num2=u'4' #unicode,python3中无需加u就是unicode
    150 num3='' #中文数字
    151 num4='' #罗马数字
    152  
    153  
    154 #isdigt:str,bytes,unicode
    155 # print(num0.isdigit())
    156 # print(num1.isdigit())
    157 # print(num2.isdigit())
    158 # print(num3.isdigit())
    159 # print(num4.isdigit())
    160  
    161 #isdecimal:str,unicode
    162 # num0='4'
    163 # num1=b'4' #bytes
    164 # num2=u'4' #unicode,python3中无需加u就是unicode
    165 # num3='四' #中文数字
    166 # num4='Ⅳ' #罗马数字
    167 # print(num0.isdecimal())
    168 # # print(num1.)
    169 # print(num2.isdecimal())
    170 # print(num3.isdecimal())
    171 # print(num4.isdecimal())
    172  
    173 #isnumeric:str,unicode,中文,罗马
    174 # num0='4'
    175 # num1=b'4' #bytes
    176 # num2=u'4' #unicode,python3中无需加u就是unicode
    177 # num3='四' #中文数字
    178 # num4='Ⅳ' #罗马数字
    179 #
    180 # print(num0.isnumeric())
    181 # # print(num1)
    182 # print(num2.isnumeric())
    183 # print(num3.isnumeric())
    184 # print(num4.isnumeric())
    185  
    186  
    187  
    188  
    189 #is其他
    190 # name='egon123'
    191 # print(name.isalnum()) #字符串由字母和数字组成
    192 # name='asdfasdfa sdf'
    193 # print(name.isalpha()) #字符串只由字母组成
    194 #
    195  
    196 # name='asdfor123'
    197 # print(name.isidentifier())
    198 name='egGon'
    199 print(name.islower())
    200 # print(name.isupper())
    201 # print(name.isspace())
    202 name='Egon say'
    203 print(name.istitle())
    204  
    205                         

      strip()移除空白,也可以去除其他的字符  

      slipt()分割,默认以空格分割。也可以以其他的字符分割  

      len()长度  切片:如print(x[1:3])也是顾头不顾尾   

                print(x[0:5:2])#0 2 4

      capitalize()首字母大写

        center()居中显示例如:x='hello'  print(x.center(30,'#'))

        count():计数,顾头不顾尾,统计某个字符的个数,空格也算一个字符  

      endswith()以什么结尾

      satrtswith()以什么开头

        find()查找字符的索引位置,如果是负数,代表查找失败   

      index()索引  

      format()字符串格式化    

         1.msg='name:{},age:{},sex:{}'           

            print(msg.format('lin',18,'男'))  

          2.msg='name:{0},age:{1},sex:{0}'     

         print(msg.format('aaaaaa','bbbbbb'))    

        3.msg='name:{x},age:{y},sex:{z}'     

         print(msg.format(x='lin',y='18',z='男'))  

      isdigit()判断是否是数字

        islower()判断是否是全部小写

        isupper()判断是否是全部大写

        lower()全部转换为小写

        upper()全部转换为大写

        isspace()判断是否是全都是空格

        istitle()判断是否是标题(首字母大写)  

      swapcase()大小写字母翻转

        join()连接

        repalce()替换   

         msg='hello alex'   

         print(msg.replace('e'),'A',1)  

         print(msg.replace('e'),'A',2)

       ljust()左对齐   

         X='ABC'    print(x.ljust(10,'*'))

    4.字符串格式化说明

      %s既能接受字符串,也能接受数字

      %d只能接受数字

    5.字符串的切片

    切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。

    格式: [start:end:step]

    • [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
    •  [start:] 从start 提取到结尾
    •  [:end] 从开头提取到end - 1
    •  [start:end] 从start 提取到end - 1
    •  [start:end:step] 从start 提取到end - 1,每step 个字符提取一个
    •  左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1

    举例:
    输入一个字符串,返回倒序排序的结果,:如:‘abcdef’ 返回:'fedcba'

     1 #方式一:将字符串翻转,步长设为-1
     2 def re_sort():
     3     s = input('请输入一串字符串:>>')
     4     return s[::-1] #从开头到结尾步长为-1
     5 # obj = re_sort()
     6 # print(obj)
     7 
     8 #方式二:借助列表进行翻转
     9 def re_sort2():
    10     s = input('请输入一串字符串:>>')
    11     li = []
    12     for i in s:
    13         li.append(i)
    14     li.reverse()  #将列表反转
    15     return ''.join(li)  #将列表转化成字符串
    16 obj2 = re_sort2()
    17 print(obj2)

    三.列表

      1 l=[1,2,3] #l=list([1,2,3])
      2 # print(type(l))
      3 
      4 #pat1===》优先掌握部分
      5 #  索引:l=[1,2,3,4,5]
      6       print(l[0])  7 #  切片
      7 l=['a','b','c','d','e','f']
      8 
      9 # print(l[1:5])
     10 # print(l[1:5:2])
     11 # print(l[2:5])
     12 # print(l[-1])
     13 
     14 
     15 #了解
     16 # print(l[-1:-4])
     17 # print(l[-4:])
     18 # l=['a','b','c','d','e','f']
     19 # print(l[-2:])
     20 
     21 #   追加
     22 # hobbies=['play','eat','sleep','study']
     23 # hobbies.append('girls')
     24 # print(hobbies)
     25 
     26 #   删除
     27 hobbies=['play','eat','sleep','study']
     28 # x=hobbies.pop(1) #不是单纯的删除,是删除并且把删除的元素返回,我们可以用一个变量名去接收该返回值
     29 # print(x)
     30 # print(hobbies)
     31 
     32 # x=hobbies.pop(0)
     33 # print(x)
     34 #
     35 # x=hobbies.pop(0)
     36 # print(x)
     37 
     38 #队列:先进先出
     39 queue_l=[]
     40 #入队
     41 # queue_l.append('first')
     42 # queue_l.append('second')
     43 # queue_l.append('third')
     44 # print(queue_l)
     45 #出队
     46 # print(queue_l.pop(0))
     47 # print(queue_l.pop(0))
     48 # print(queue_l.pop(0))
     49 
     50 
     51 #堆栈:先进后出,后进先出
     52 # l=[]
     53 # #入栈
     54 # l.append('first')
     55 # l.append('second')
     56 # l.append('third')
     57 # #出栈
     58 # print(l)
     59 # print(l.pop())
     60 # print(l.pop())
     61 # print(l.pop())
     62 
     63 #了解
     64 # del hobbies[1] #单纯的删除
     65 # hobbies.remove('eat') #单纯的删除,并且是指定元素去删除
     66 
     67 
     68 #   长度
     69 # hobbies=['play','eat','sleep','study']
     70 # print(len(hobbies))
     71 
     72 #   包含in
     73 # hobbies=['play','eat','sleep','study']
     74 # print('sleep' in hobbies)
     75 
     76 # msg='hello world egon'
     77 # print('egon' in msg)
     78 
     79 
     80 ##pat2===》掌握部分
     81 hobbies=['play','eat','sleep','study','eat','eat']
     82 # hobbies.insert(1,'walk')
     83 # hobbies.insert(1,['walk1','walk2','walk3'])
     84 # print(hobbies)
     85 
     86 # print(hobbies.count('eat'))
     87 # print(hobbies)
     88 # hobbies.extend(['walk1','walk2','walk3'])
     89 # print(hobbies)
     90 
     91 hobbies=['play','eat','sleep','study','eat','eat']
     92 # print(hobbies.index('eat'))
     93 
     94 
     95 #pat3===》了解部分
     96 hobbies=['play','eat','sleep','study','eat','eat']
     97 # hobbies.clear()
     98 # print(hobbies)
     99 
    100 # l=hobbies.copy()
    101 # print(l)
    102 
    103 # l=[1,2,3,4,5]
    104 # l.reverse()
    105 # print(l)
    106 
    107 l=[100,9,-2,11,32]
    108 l.sort(reverse=True)
    109 print(l)

    四.元祖

     1 #为何要有元组,存放多个值,元组不可变,更多的是用来做查询
     2 t=(1,[1,3],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2)))
     3 # print(type(t))
     4 
     5 
     6 # #元组可以作为字典的key
     7 # d={(1,2,3):'egon'}
     8 # print(d,type(d),d[(1,2,3)])
     9 
    10  
    11 
    12 
    13 #     切片
    14 # goods=('iphone','lenovo','sanxing','suoyi')
    15 # print(goods[1:3])
    16 
    17 
    18 
    19 #     长度
    20 
    21 #in:
    22 #字符串:子字符串
    23 #列表:元素
    24 #元组:元素
    25 #字典:key
    26 
    27 # goods=('iphone','lenovo','sanxing','suoyi')
    28 # print('iphone' in goods)看的是里面的元素在不在里面
    29 
    30 # d={'a':1,'b':2,'c':3}
    31 # print('b' in d) 看的是key在不在d里面
    32 
    33  
    34 
    35 #掌握
    36 # goods=('iphone','lenovo','sanxing','suoyi')
    37 # print(goods.index('iphone'))
    38 # print(goods.count('iphone'))
    39 
    40 
    41 #补充:元组本身是不可变的,但是内部的元素可以是可变类型
    42 t=(1,['a','b'],'sss',(1,2)) #t=tuple((1,[1,3],'sss',(1,2)))
    43 
    44 # t[1][0]='A'
    45 # print(t)
    46 # t[1]='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'

    五.字典

      1 # 字典的表示方法:
      2 info_dic={'name':'lin','age':18,'sex':'male'}
      3 # 常用操作:
      4 #
      5 1.存/  6 info_dic={'name':'egon','age':18,'sex':'male'}
      7   print(info_dic['name11111111'])#找不到则报错了
      8   print(info_dic.get('name',None))
      9   print(info_dic.get('name222222',None))#get方法找不到不报错,可以自己设定默认值
     10 
     11 #pop:key存在则弹出值,不存在则返回默认值,如果没有默认值则报错
     12 # print(info_dic.pop('nam123123123123123123e',None))
     13 # print(info_dic)
     14 
     15 # print(info_dic.popitem())
     16 # print(info_dic)
     17 
     18 # info_dic['level']=10
     19 # print(info_dic)
     20 
     21 #
     22 #     删除
     23 info_dic={'name':'egon','age':18,'sex':'male'}
     24 # info_dic.pop()
     25 # info_dic.popitem()
     26 
     27 # del info_dic['name']
     28 
     29 
     30 #
     31 #     键s,值s,键值对
     32 info_dic={'name':'egon','age':18,'sex':'male'}
     33 # print(info_dic.keys())
     34 # print(info_dic.values())
     35 # print(info_dic.items())
     36 
     37 # for k in info_dic:
     38 #     # print(k,info_dic[k])
     39 #     print(k)
     40 
     41 # print('========>')
     42 # for k in info_dic.keys():
     43 #     print(k)
     44 
     45 # for val in info_dic.values():
     46 #     print(val)
     47 
     48 # for k,v in info_dic.items(): #k,v=('name', 'egon')
     49 #     print(k,v)
     50 
     51 
     52 
     53 #     长度
     54 # info_dic={'name':'egon','age':18,'sex':'male'}
     55 # print(len(info_dic))
     56 #
     57 #     循环
     58 #
     59 #     包含in
     60 
     61 # info_dic={'name':'egon','age':18,'sex':'male'}
     62 # print('name' in info_dic)
     63 # print('name' in info_dic.keys())
     64 # print('egon' in info_dic.values())
     65 # print(('name','egon') in info_dic.items())
     66 
     67 
     68 
     69 #掌握
     70 info_dic={'name':'egon','age':18,'sex':'male'}
     71 # info_dic.update({'a':1,'name':'Egon'})
     72 # print(info_dic)
     73 
     74 # info_dic['hobbies']=[]
     75 # info_dic['hobbies'].append('study')
     76 # info_dic['hobbies'].append('read')
     77 # print(info_dic)
     78 
     79 #setdefault:key不存在则设置默认值,并且放回值默认值
     80 #key存在则不设置默认,并且返回已经有的值
     81 
     82 # info_dic.setdefault('hobbies',[1,2])
     83 # print(info_dic)
     84 # info_dic.setdefault('hobbies',[1,2,3,4,5])
     85 # print(info_dic)
     86 
     87 # info_dic={'name':'haiyan','age':18,'sex':'male'}
     88 
     89 # {'name':'egon','age':18,'sex':'male','hobbies':['study']}
     90 # info_dic.setdefault('hobbies',[]).append('study')
     91 
     92 # {'name':'egon','age':18,'sex':'male','hobbies':['study','read']}
     93 # info_dic.setdefault('hobbies',[]).append('read')
     94 
     95 # {'name':'egon','age':18,'sex':'male','hobbies':['study','read','sleep']}
     96 # info_dic.setdefault('hobbies',[]).append('sleep')
     97 # l=info_dic.setdefault('hobbies',[])
     98 # print(l,id(l))
     99 # print(id(info_dic['hobbies']))
    100 
    101 # print(info_dic)
    102 
    103 
    104 
    105 #了解
    106 # d=info_dic.copy()
    107 # print(d)
    108 # info_dic.clear()
    109 # print(info_dic)
    110 
    111 
    112 # d=info_dic.fromkeys(('name','age','sex'),None)
    113 # print(d)
    114 # d1=dict.fromkeys(('name','age','sex'),None)
    115 # d2=dict.fromkeys(('name','age','sex'),('egon',18,'male'))
    116 # print(d1)
    117 # print(d2)
    118 
    119 
    120 
    121 
    122 # info=dict(name='haiyan',age=18,sex='male')
    123 # print(info)
    124 
    125 #
    126 # info=dict([('name','haiyan'),('age',18)])
    127 # print(info)

    六.集合

    作用:去重,关系运算

    定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则:

          1.每个元素必须是不可变类型(可hash,可作为字典的key)

          2.没有重复的元素

          3.无序

         注意集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结集合中的单个值

    in 和 not in

        |并集(print(pythons.union(linuxs)))

        &交集(print(pythons.intersection(linuxs)))

        -差集(print(pythons.difference(linuxs)))

        ^对称差集(print(pythons.symmetric_difference(linuxs)))

        ==

        >,>= ,<,<= 父集(issuperset),子集(issuberset)

     1 # ========掌握部分=======
     2 linuxs={'six','wu','dabao'}
     3 linuxs.add('xiaoxiao')#说明set类型的集合是可变类型
     4 linuxs.add([1,2,3])#报错,只能添加不可变类型
     5 print(linuxs)
     6  
     7 # 2.
     8 linuxs={'six','wu','dabao'}
     9 res=linuxs.pop() #不用指定参数,随机删除,并且会有返回值
    10 print(res)
    11 # 3.
    12 res=linuxs.remove('wupeiqi')#指定元素删除,元素不存在则报错,单纯的删除,没有返回值,
    13 print(res)
    14 # 4.
    15 res=linuxs.discard('egon1111111111') #指定元素删除,元素不存在不报错,单纯的删除,没有返回值,
    16 # =========了解部分=========
    17 linuxs={'wupeiqi','egon','susan','hiayan'}
    18 new_set={'xxx','fenxixi'}
    19 linuxs.update(new_set)
    20 print(linuxs)
    21 linuxs.copy()
    22 linuxs.clear()
    23  
    24  
    25  
    26 #解压
    27  
    28 a,*_={'zzz','sss','xxxx','cccc','vvv','qqq'}
    29 print(a)

  • 相关阅读:
    Java课堂测试——一维数组
    05构建之法阅读笔记之二
    第八周个人总结
    团队项目第一篇——NABCD
    第七周学习进度报告
    地铁合作的第二周
    04构建之法阅读笔记之一
    第六周学习进度报告
    03人月神话阅读笔记之三
    地铁合作的第一周
  • 原文地址:https://www.cnblogs.com/itworks/p/9717702.html
Copyright © 2011-2022 走看看