zoukankan      html  css  js  c++  java
  • 数据类型及内置方法1

    零、

    • 可变类型:值改变的情况下,id不变

    • 不可变类型:只改变的情况下,id变化

    • 有序:但凡有索引的数据都是有序的

    一、整型

    1. 用途

      存qq号,手机号,不带字母的身份证号码

    2. 定义方式

      age = 18

    3. 可变or不可变

      不可变

    4. 进制转换

      • 其他进制转十进制

        # 二进制转十进制
        10 —— 1 * (2 ** 1) + 0 * (2 ** 0)
        
        # 八进制转十进制
        
        235 —— 2 * (8 ** 2) + 3 * (8 ** 1) + 5 * (8 ** 0)
        
        # 十六进制转十进制
        
        217 —— 2 * (16 ** 2) + 1 * (16 ** 1) + 5 * (8 ** 0)
        
      • int 可以传第二个参数,表示第一个参数是什么进制,然后转成十进制

        - print(int('1100', 2))
        - print(int('14', 8))
        - print(int('c', 16))
        
      • 十进制转其他进制

        - 十进制转二进制
          print(bin(12))	# 0b1100
        - 十进制转八进制
          print(oct(12))	# 0o14
        - 十进制转十六进制
          print(hex(12))	# 0xc
        

      二、字符串

      1. 描述

      2. 定义方式

        ‘ ’ “ ” ‘’‘ ’‘’

      3. 有序 or 无序

        有序

      4. 可变 or 不可变

        不可变

      5. 操作和内置方法

        • 按索引取值

          s = 'hello world'
          print(s[0])    # h
          print(s[-1])	# d
          
        • 切片(顾头不顾尾)

          s = 'hello world'
          print(s[0:5])	# hello
          print(s[0:10:2])	# hlowr
          print(s[5:0:-2])	# le
          print(s[-1:-4:-1])    # dlr
          
        • len(统计字符个数)

          s1 = '  '
          print(len(s1))    # 2
          
        • in, not in(判断一个字符串是否存在于一个大的字符串中)

          print('a' in 'abcd')    # True
          
        • strip(去掉字符串左右两边的字符)

          strip()    # 默认去除字符串首位的空格
          
          name1 = '    byx '
          print(name1.strip())    # byx
          
          name2 = '$by$x$'    
          print(name2.strip('$'))    # by$x    中间的符号不会去除
          print(name2.lstrip('$'))    # by$x$
          print(name2.rstrip('$'))    # $by$x
          
        • split(将字符串分割成列表)

          data = 'byx|18|male'
          print(data.split('|'))    # ['byx', '18', 'male']    切分成列表
          print(data.rsplit('|', 1))    # ['byx|18', 'male']    从右边切一个'|'
          
        • for循环

          for i in 'byx':
              print(i, end=' ')    # b y x 
          
        • lower, upper(大写、小写转换)

          s = 'ByX'
          print(s.lower())    # byx
          print(s.upper())    # BYX
          print(s)    # ByX    s 本身没变
          
        • startswith, endswith(判断首位)

          s = 'byx'
          print(s.startswith('b'))    # True
          print(s.endswith('x'))    # True
          
        • join(拼接)

          user_list = ['byx', '18', 'male']
          res = '|'.join(user_list)
          print(res)    # byx|18|male
          
        • replace(替换)

          str = 'Rome was not built in one day'
          res = str.replace('day', 'month')
          print(res)    # Rome was not built in one month
          print(str)    # Rome was not built in one day    原字符串没变
          
        • isdigit( 判断是否输入的数字)

          age = input('请输入年龄')
          if age.isdigit():    
              age = int(age)
          else:
              print('请输入数字')
          
        • find,index(寻找位置)

          s = 'Rome was not built in one day'
          print(s.find('was'))    # 5    返回所在位置
          print(s.find('xxx'))    # -1    找不到时,返回 -1
          print(s.find('was', 0, 5))    # -1    通过索引限制查找范围,顾头不顾尾
          print(s.find('was', 0, 5))    # 5    只有找到整个‘was’时,才不返回-1,并返回5
          
          print(s.index('was', 0, 5))    # 报错    找不到值报错
          print(s.index('was', 0, 8))    # 5    只有找到整个‘was’时,才不报错,并返回5
          
        • count(统计出现次数)

          s = 'Rome was not built in one day'
          print(s.count('o'))    # 3
          
        • center, ljust, rjust, zfill(居中填充,左填充,右填充)

          s = 'byx'
          print(s.center(7, '*'))    # **byx**    居中填充,一共7位字符
          print(s.ljust(7, '*'))    # byx****    左移后填充,一共7位字符
          print(s.rjust(7, '*'))    # ****byx    右移后填充,一共7位字符
          print(s.zfill(7))    # 0000byx    左边用0填充,一共7位字符
          
        • expandtabs(改变table键空格的个数)

          s = 'b	yx'
          print(s)    # b	yx
          print(s.expandtabs(10))    # b         yx    # table键变为10个空格
          
        • captalize, swapcase, title

          s = 'RoMe waS nOt BuILT in ONe daY'
          print(s.capitalize())    # Rome was not built in one day    字符串首字母大写
          print(s.swapcase())    # rOmE WAs NoT bUilt IN onE DAy    大小写转换
          print(s.title())    # Rome Was Not Built In One Day    所有单词首字母大写
          

      三、列表

      1. 定义:[ ]内存放多个任意元素,以逗号隔开

        l = list('abc')
        l1 = list({'name': 'byx', 'age': 18})    
        print(l)    # ['a', 'b', 'c']
        print(l1)    # ['name', 'age']
        # 内部是for循环
        
      2. 可变 or 不可变

        可变类型

      3. 有序 or 无序

        有序

      4. 操作和内置方法

        • 按索引取值(正向存取+反向存取)

          l = [1, 2, 3, 4]
          print(l[2])    # 3
          
          l[0] = 5    
          print(l)    # [5, 2, 3, 4]    可以通过索引修改元素
          
        • 切片(顾头不顾尾)

          l = [1, 2, 3, 4]
          print(l[0:4:1])      # [1, 2, 3, 4]
          print(l[0::])    # [1, 2, 3, 4]    默认取到最后,默认步长为1
          print(l[5::-1])    # [4, 3, 2, 1] 
          
        • len(长度)

          l = [1, 2, 3, 4]
          print(len(l))    # 4
          
        • in 和 not in(成员运算)

          l = [1, 2, 3, 4]
          print(5 in l)    # False
          
        • append, insert, extend(添加元素)

          l = [1, 2, 3, 4]
          l.append(5)
          print(l)    # [1, 2, 3, 4, 5]    尾部添加一个元素
          
          l1 = [1, 2, 3, 4]
          l1.insert(2, 5)
          print(l1)    # [1, 2, 5, 3, 4]    通过索引在任意位置添加一个元素
          
          l1 = [1, 2, 3, 4]
          l2 = [5, 6]
          l1.extend(l2)
          print(l1)    # [1, 2, 3, 4, 5, 6]    列表拼接
          
          l3 = [1, 2, 3, 4]
          l3.extend([5,])
          print(l3)    # [1, 2, 3, 4, 5]    内部是for循环,参数要传可迭代对象
          
        • del, pop, remove(删除)

          l = [1, 2, 3, 4]
          del l[2]    # del 按照索引删除,适用于所有的删除操作 无返回值
          print(l)    # [1, 2, 4]
          del l    # 删除列表
          
          l = [1, 2, 3, 4, 5]
          l.pop()
          print(l)    # [1, 2, 3, 4]    尾部弹出一个参数
          res = l.pop()
          print(res)    # 4    弹出的元素就是返回值
          print(l)    # [1,2, 3]
          res1 = l.pop(1)
          print(res1)    # 2    可以按照索引指定弹出元素
          
          l = [1, 2, 3, 4]
          l.remove(3)
          print(l)    # [1, 2, 4] 指定删除元素,无返回值
          
        • count(计数)

          l = ['a', 'b', 1, 3, 3]
          print(l.count(3))    # 2
          print(l.count('c'))    # 0
          
        • clear(清空)

          l = [1, 2, 3, 4]
          res = l.clear()
          print(l)    # []
          print(res)    # None    列表被清空
          
        • sort, reverse(排序和反转)

          l = [2, 1, 5, 4, 3]
          l.sort()
          print(l)    # [1, 2, 3, 4, 5]
          
          l = [2, 1, 5, 4, 3]
          l.sort(reverse=True)
          print(l)     #[5, 4, 3, 2, 1]
          
      5. 队列和堆栈

        • 队列(先进先出)

          l1 = []
          # 先进
          l1.append('a')
          l1.append('b')
          l1.append('c')
          # 先出
          print(l1.pop(0))    # a
          print(l1.pop(0))    # b
          print(l1.pop(0))    # c
          
        • 堆栈(先进后出)

          l1 = []
          # 先进
          l1.append('a')
          l1.append('b')
          l1.append('c')
          # 先出
          print(l1.pop())    # c
          print(l1.pop())    # b
          print(l1.pop())    # a
          
  • 相关阅读:
    进程间通信(管道和有名管道)
    BAT面试需要什么样的程序员?
    深入剖析Redis系列: Redis哨兵模式与高可用集群
    七大进程间通信和线程同步
    详解Redis 的持久化机制--RDB和AOF
    大型网站技术架构演进
    Coding Standard(编程规范)
    @RequestBody,415Unsupported Media Type错误
    排序算法
    单例设计模式
  • 原文地址:https://www.cnblogs.com/binyuanxiang/p/11514660.html
Copyright © 2011-2022 走看看