基本数据类型

          一

             整形

               1、用途  

      年龄 生日 整数类型

                      整形()内能待转换的类型只能是纯数字

                   进制转换(******)

    print(bin(100))  # 将十进制的100转换成二进制对应的数  0b1100100
    print(oct(100))  # 将十进制的100转换成八进制对应的数  0o144
    print(hex(100))   # 将十进制的100转换成十六进制对应的数  0x64

              0b开头表示二进制数

              0o开头表示八进制数
       0x开头表示十六进制数

               

    int的进制转换:

    print(int('0b1100100',2)) ----->二进制转化成十进制
    print(int('0o144',8))----->八进制转化成十进制
    print(int('0x64',16)) ----->十六进制转化成十进制

    二

        浮点型

               1.用途:身高 体重 薪资...

                 浮点型()内能待转换的类型只能是小数和整数

     三

         字符串类型

               1.用途:名字,性别,国籍,地址等描述信息   

               2.定义:在单引号\双引号\三引号内,由一串字符组成(注意:""" """和''' ''' 可以用作多行注释)

               3.优先掌握的操作:

                  3.1 按索引取值(正向取+反向取) :都能取

     '''索引是从0开始的'''(字符串索引只能取,不能改)

                     print(name[0])

                    print(name[-1]) # -1表示最后一个元素

       print(name[8])
         print(name[-4])
         正数表示从左往右 负数从右往左

                   3.2 切片(顾头不顾尾,步长)

                    print(name[-1:-5:-1])  # 默认的切片方向都是从左往右    -1修改成从右往左  

                   3.3 长度len

                     '''统计字符串里面的字符个数'''

                       空格也算

                   3.4 成员运算in和not in

                   3.5 移除指定的首尾字符或空白移除strip

                         移除左侧 lstrip      移除右侧rstrip

                    3.6 切分split

                         ‘’‘按照指定字符切割字符串’‘’          

                       res = 'jason|123|read'

                       print(res.split('|'))

                      ※指定切割的字符不保留

                      ※切割之后的结构是一个列表(重要)

                       res.split('|', maxsplit=1) --->从左往右切割指定的次数(不指定默认从左往右切)

                       print(res.rsplit('|',maxsplit=1))--->从右往左切割指定的次数

                      3.7  循环

                        for i in name:

                              print(i)       ------> 依次获取字符串中单个单个的字符

                       3.8 字符串能把所有类型转为字符串类型,加引号即可

                          print(type(str(18)))-------->可以转

        print(type(str(11.11)))------>可以转

        print(type(str('hello')))------>可以转
        print(type(str([1,2,3,4])))------>可以转
        print(type(str({'name':'jason'})))------>可以转
        print(type(str(True)))------>可以转

                       3.9判断是否是纯数字 isdigit

                          小例题

                              guess_age = input('请输入您的年龄>>>:')

                          # 判断用户输入的是否是纯数字
                            if guess_age.isdigit():
                       # 将字符串的数字转为整型的数字
                                  guess_age = int(guess_age) 
                           else:
                                print('请输入纯数字')

                 了解知识点:

                        1.将所有的英文字母转成大写 upper()  

                        2.将所有的英文字母转成小写 lower()

                        小例题:

                              """图片验证码校验 忽略大小写"""

                             code = 'NaRTs6'

                            my_code = input('code>>>:')

                           if code.upper() == my_code.upper():
                                print('验证码正确')

                        3.字符串内部所有的英文字母是否是全大写 isupper()

                        4.字符串内部所有的英文字母是否是全小写 islower()

                        5.判断字符串是否以什么开头 startswith()

                        6.判断字符串是否以什么结尾 endswith()

                        7.字符串格式化输出   %s  %d          format

                            第一种 与%s一致 按照个数位置 一一传值

        res = 'my name is {} my age is {}'

        print(res.format('jason',18))

                           第二种 按照索引取值 可以反复使用

                           res = 'my name is {0} my age is {1} {0} {0} {0}'

                           print(res.format('jason',18))

                           第三种 指名道姓取值 可以反复使用

                           res = 'my name is {name} my age is {age} {name} {name} {name}'
                           print(res.format(name='jason',age=18))

                         8.统计字符串中 指定字符出现的个数

                            res = 'jason a a a a  sdf se sdf we ras dsa dw e asdsa dwqd sadsa dsadas'

                            print(res.count('a', 1, 10))   --->指定范围统计(顾头不顾尾)  

                         9.将所有英文单词首字母大写 title

                         10.首字母大写,后面统一变小写 capitalize

                         11.判断非数字 特殊符号 或判断是否有纯字母组成,汉字也算是字母 isalpha

                         12.替换 replace

                              print(res.replace('egon','SB',1))  ---> 局部替换,只替换开头一次

                         13. 将列表多个元素拼接成字符串

                              res1 = ['jason','egon','kevin','tony',123]

                              print('|'.join(res1))  ---> 只能是字符串类型拼接,后面的那个数字整形拼接不了

           四

               列表类型

                      内置方法:

                         ※中括号括起来 内存可以存放多个元素

                         ※元素与元素之间逗号隔开 元素可以是任意数据类型

                         ※能够支持for循环的数据都能被 list转成列表

                             其中包括:字符串、列表、字典

                     1.优先掌握的操作

                          1.1 索引取值 (正向取+反向取)

                          1.2 切片操作 (顾头不顾尾,步长)

                              print(name_list[0:2])------->顾头不顾尾

         print(name_list[0:2:2])------>(******)
         print(name_list[-1:-3:-1])------>反向操作

                           1.3 统计列表中元素的长度 len()

                           1.4 列表的元素CURD (增删改查)

                                      小例题:

                                      name_list = ['jason', 'egon', 'tony']    

                                改的概念

                                   name_list[1] = 'yuan hao'

                                增的概念:末尾增加单个元素(append)

                                   name_list.append('kevin')

                                   name_list.append([11,22,33,44])

                                              插入元素(insert)

                                   name_list.insert(0,'jack') --->按照索引位置插入元素

                                              扩展列表(extend)

                                    l1 = [11,22,33,44,55,66,77]

               for  i  in  l1:
                name_list.append(i)
             print(name_list)
                                     name_list.extend(l1)   --->extend等价于for+append(增的概念)

                                  删的概念:

                                     通用的删除操作 (del)

                                        del name_list[1]  --->按照索引位置删除

                                     指名道姓的删除 (remove)

                                        res1 = name_list.remove('tony') --->指名道姓的删除

                                      默认弹出尾部元素删除和默认指定索引位置的元素删除 (pop) 

                                        res = name_list.pop()

                                        res = name_list.pop(1)

                               1.5 统计列表中某个元素出现的次数 count()

                               1.6 清空列表 clear()

                               1.7 排序             默认升序用 sort()

                                         小例题:

                                          l2 = [11,88,22,44,33,77,66,55]

                                          l2.sort()

                                                          降序用reverse()

                                           l2.sort(reverse=True)

                                           print(l2)

                                                           倒序用reverse()

                                           l2.reverse()

                     五

                         可变不可变类型

                               """

                             可变类型

                             值改变 内存地址不变
                            不可变类型
                            值改变 内存地址一定变

                             """

                          示例:

        不可变类型
                              a = 1
                              print(id(a))  --->145736875867745
                              a = 2
                              print(id(a)) --->140736875403024

        可变类型
        l1 = [11,22]
        print(id(l1))   --->2133952624128
        l1.append(666)
        print(id(l1))   --->2133952624128