数字类型、字符串、列表

中心主题

数字类型

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 符号('\t')转为空格,tab 符号('\t')默认的空格数是 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 >>>
    

     

posted @ 2019-07-03 18:44  不在一城  阅读(135)  评论(0编辑  收藏  举报