zoukankan      html  css  js  c++  java
  • 数字类型、字符串、列表

    中心主题

    数字类型

    int

    • 用途:记录整数

    • 定义方式:age=18 #age=int(18)

    • 使用

      • 数据类型转换:#int只能将字符串中包含纯数字转成整型

      • 进制转换

        • 其他进制转为十进制

        • 十进制转为其他进制

    float

    • 能将字符串中的小数,转换为浮点类型

    字符串类型及内置方法

    用途:用来表示描述性的数据

    定义方式:单引号、双引号、三引号引起来

    使用注意:调用字符串的方法并没有改变字符串本身

    使用

    • 按索引取值:按照索引号取值,没有的话报错

    • >>> s = 'hello big baby'
      >>> print(s[0])
      h
    • 成员运算

      • 判断一个子字符串是否存在于一个大的字符串中

      • >>> msg = 'i am fine enough.'
        >>> print('am' in msg)
        True
        >>>
    • 循环取值通过for,循环把容器内的值取完

    • >>> data = 'abc..xyz'
      >>> for i in data:
      ...     print(i,end=' ')
      ...
      a b c . . x y z >>>
    • 切片

      • 从一个大的字符串中截取一段新的小字符串出来

      • 取值

        • 格式:变量名[起始位置索引值 : 结束位置索引值 : 步长]

        • ① 顾头不顾尾 ② 左边固定是头,右边是尾 ③ 步长表示每几个取一次 ④ 默认从左往右取值

        • 负数取值

        •  

    方法 

    • strip()

      • 作用:去掉字符串左右两边的字符(管不了字符中间的)

      • 注意:去掉的过程是从两端向中间检索识别然后去除的,默认空格一定会去掉

      • >>> name = '&&&&zhang&&'
        >>> print(name.strip('&'))
        zhang
      • 了解内容

        • lstrip只处理字符左边的空格,rstrip只处理字符右边的

    • 切分split()

      • 作用:通过指定分隔符对字符串进行切片,输出结果是列表

      • 如果不指定的话,split和rsplit效果是一样,从左往右,而rsplit从右往左

    • 大小写:lower()转小写,upper()转大写

    • 判断字符串“是否”以什么开头或结尾

    • >>> s1 = 'i am fine.'
      >>> print(s1.startswith('i'))
      True
      >>> print(s1.endswith('i'))
      False
    • format()

      • 按位置占位

      • >>> str = 'my name is {},my age is {}'.format(18,'jason')
        >>> print(str1)
        my name is 18 my age is jason
      • 按索引占位

      • 指名道姓占位

    • join ()

      • 将容器类型中的多个元素通过指定字符拼接成一个字符串。join和切分是相反的操作

      • >>> print('>>> 先切分')
        >>> 先切分
        >>> msg = 'get|a.txt|3389'
        >>> k = msg.split('|')
        >>> print(k)
        ['get', 'a.txt', '3389']
        >>> print('列表转为str')
        列表转为str
        >>> msg1 = '|'.join(k)
        >>> print(msg1)
        get|a.txt|3389
        >>>
    • replace()

      • 语法结构:str.replace(old, new,替换个数)

      • >>> msg = 'he is tall,he likes oranges,he can fly.'
        >>> msg1 = msg.replace('he','she',2)
        >>> print(msg1)
        she is tall,she likes oranges,he can fly.
    • isdigit()

      • 判断字符串中包含的是否为纯数字

      • >>> print('3'.isdigit())
        True
        >>>
    • 长度 len()

    • 索引

      • find()

        • print(s.find('dsb')) # 返回的是d字符所在的索引值,找不到的时候不报错返回的是-1

        • >>> mag = 'dsb'
          >>> print(mag.find('dsb'))
          0
          >>>
        • print(s.find('i',0,3)) # 还可以通过索引来限制查找范围mag

        • >>> mag = 'dsb'
          >>> print(mag.find('dsb'))
          0
          >>> print(mag.find('dsb',1,2))
          -1
          >>>
      • index()

        • 用法和find()一样,但是找不到时会报错

        • >>> print(mag.index('d'))
          0
          >>> mag = 'dsb'
          >>> print(mag.index('d'))
          0
          >>> print(mag.index('d',1,2))
          Traceback (most recent call last):
            File "<stdin>", line 1, in <module>
          ValueError: substring not found
          >>> print(mag.index('a'))
          Traceback (most recent call last):
            File "<stdin>", line 1, in <module>
          ValueError: substring not found
          >>>
      • count

        • print(s.count('n')) # 统计字符出现的次数

        • >>> msg = '12314'
          >>> print(msg.count('1'))
          2
          >>> print(msg.count('4'))
          1
          >>>
    • 填充

      • center()

        • 格式:str.center(width,'填充字符')

        • 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。

          >>> print('中心'.center(8,))
             中心
          >>> print('中心'.center(8,'-'))
          ---中心---
          >>>
      • ljust和rjust

        • ljust()是右对齐

        • rjust() 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

      • zfill()

        • 格式:str.zfill(width)

        • 返回指定长度的字符串,原字符串右对齐,前面填充0

    • expandtabs()

      • 把字符串中的 tab 符号(' ')转为空格,tab 符号(' ')默认的空格数是 8

    • 改变大小写

      >>> msg = 'heLLo worLd'
      >>> msg1 = msg.upper()
      >>> print(msg1)
      HELLO WORLD
      >>> print(msg.capitalize())
      Hello world
      >>> print(msg.swapcase())
      HEllO WORlD
      >>> print(msg.title())
      Hello World
    • is数字系列

      • str.isnumeric() 只要是数字都识别

      • str.isdecimal() 只识别普通的阿拉伯数字(unicode)

      • str.isdigit() 通常情况下使用isdigit就已经满足需求了(bytes,unicode)

    列表类型及内置方法

    作用:存储多个数据

    定义:[]内多个任意类型的数据,逗号分隔。list内部原理就是for循环取值 然后一个个塞到列表中去

    使用

    • 按索引存取值(正向存取+反向存取):即可存也可以取

    • 取值

    • >>> l = [1,2,3,4]
      >>> print(l[0:4:1])
      [1, 2, 3, 4]
      >>> print(l[0::])
      [1, 2, 3, 4]
      >>> print(l[5::-1])
      [4, 3, 2, 1]
    • 改值

    • >>> l = [1,2,3,4]
      >>> l[0] = 9
      >>> print(l)
      [9, 2, 3, 4]
      >>>

    添加元素

    • append:直接在列表多添加一个元素

    • >>> l = [1,2,3,4]
      >>> l.append(5)
      >>> print(l)
      [1, 2, 3, 4, 5]
      >>>
    • insert

      • 根据索引号,在任意位置添加元素

      • 格式:insert(索引号,元素)

        >>> l = [1,2,3,4]
        >>> l.insert(0,0)
        >>> print(l)
        [0, 1, 2, 3, 4]
        >>>
    • entend

      • 内部原理for循环l1一个个追加到列表的尾部

        >>> l = [1,2,3,4]
        >>> l.extend(5)
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        TypeError: 'int' object is not iterable
        >>> l.extend('5')
        >>> print(l)
        [1, 2, 3, 4, '5']
        >>> l.extend([6,7])
        >>> print(l)
        [1, 2, 3, 4, '5', 6, 7]
        >>>

    len(列表名):统计列表内元素个数

    >>> l = [1,2,3,4]
    >>> print(len(l))
    4
    >>>

    in和not in:元素是否在列表中(元素的格式需要和列表中的格式一样)

    删除

    • del()

      >>> l = [1,2,3,4]
      >>> del(l[0])
    • pop() 按照索引弹出

      >>> l = [1,2,3,4]
      >>> res = l.pop(0)
      >>> print(res)
      1
      >>>
    • remove()删除指定元素的值

      >>> l = [1,2,3,4]
      >>> res = l.remove(1)
      >>> print(res)
      None
      >>>
    • 循环

      >>> l = [1,2,3,4]
      >>> for j in l:
      ...     print(j,end=' ')
      ...
      1 2 3 4 >>>
      

       

  • 相关阅读:
    理解C#中的 async await
    kube-proxy IPVS 模式的工作原理
    Kilo 使用教程
    Wireguard 全互联模式(full mesh)配置指南
    我为什么不鼓吹 WireGuard
    iTerm2 实现 ssh 自动登录,并使用 Zmodem 实现快速传输文件
    在 Docker Desktop 中启用 K8s 服务
    ABP 适用性改造
    ABP 适用性改造
    在 ASP.NET Core 应用中使用 Cookie 进行身份认证
  • 原文地址:https://www.cnblogs.com/buzaiyicheng/p/11128310.html
Copyright © 2011-2022 走看看