• 数字类型和字符串类型内置方法


    再说内置方法之前,先来介绍一下 什么是有序or无序,什么是可变or不可变

    有序:有索引

    无序:无索引

    可变:值变id不变,不可哈希

    不可变:值变id也变,可哈希

    01 数字类型内置方法

    整形

    1. 作用 (具体参考数据类型基础)

      描述年龄,id

    2. 定义方式(具体参考数据类型基础)

      可以使用int()方法将纯数字的字符串转为十进制的整型

      age = 19  # age = int(10)
      print(type(age))
      #<class 'int'>
      x = int('111')
      print(type(x))
      #<class 'int'>
      x = int('11.1')  # 报错
      print(x)
      
    3. 内置方法

      没有内置方法,只有算术运算+-*/和比较运算><>=<=

    4. 存一个值还是多个值

      一个值 这不是废话吗?一个变量名对应一个变量值

    5. 有序or无序

      压根没有这么一说

    6. 可变or不可变(重点)

      数字类型是不可变

    浮点型

    1. 作用(具体参考数据类型基础)

      用途:薪资、身高、体重

    2. 定义方式(具体参考数据类型基础)

      可以使用float()方法将纯数字的字符串转为浮点型数字。

      age = 3.1  # age = float(3.1)
      print(type(age))
      #<class 'float'>
      x = float('111')
      print(x)
      print(type(x))
      111.0
      #<class 'float'>
      x = float('11.1')  # 报错
      print(type(x))
      #<class 'float'>
      
    3. 内置方法

      _算术运算+比较运算

    4. 存一个值还是多个值

      一个值

    5. 有序or无序

      无有序or无序一说

    6. 可变or不可变(重点)

      不可变数据类型

    02 字符串类型内置方法

    1. 作用(具体参考数据类型基础)

      描述性质的东西,如人的名字、单个爱好、地址、国家等

    2. 定义方式(具体参考数据类型基础)

      使用''、""、''''''、""""""包裹的的一串字符

      • u'unicode': unicode编码的字符串
      • b'101': 二进制编码的字符串
      • r' ': 原生字符串,也就是说' '这是普通的两个字符,并没有换行的意思
      name = 'nick'  # name =str('nick')
      s1 = str(1.1)
      s2 = str([1, 2, 3])
      
      print(f's1:{s1}, type:{type(s1)}')
      print(f's2:{s2}, type:{type(s2)}')
      #s1:1.1, type:<class 'str'>
      #s2:[1, 2, 3], type:<class 'str'>
      

      看到这里的大兄弟有福利了,这来讲一个打印二进制类型

      s = b'sdkfljl' # 打印出来的bytes类型,二进制类型,010101010100110100  # 有这种二进制的定义方式,其实一点用都没有
      print(s)
      

      在来讲几个转义字符

      
       #换行
      s  = 'a
      a'  # 碰到斜杠了,计算机就清楚下一个字符和拼接在一起会有特殊的意义
      print(s)
      
      	 缩进4个空格
      s = 'a		a'
      print(s)
      
      
       回退上一个打印结果,覆盖上一个打印结果
      print('\ra',end='')  # 加一个让后面的变得无意义
      print('\ra',end='')
      
      
      s = 'a\na'
      print(s)
      s = r'
      a	
      a'  # raw 去掉转义字符,等于使没有意义
      print(s)
      
      

      在来讲一个内置包 os ,用来拼接路径

      path = r'D:'
      print(path)
      import os
      path = os.path.join(path,'test.txt')
      
    3. 字符串内置方法(只有字符串类型才能使用)

      优先掌握

      1. 索引取值
      print(s[1])
      
      2. 切片
      print(s[4:0:1])  # 1表示从左到右
      
      print(s[-4::-1])  # -1表示从右到左  # 不推荐掌握
      
      print(s[4:0:-1])  # -1表示从右到左
      
      s = 'Thousand_Mesh handsome'
      
      3.for循环
      for i in s:
          print(i)
      
      4.strip()
      s1 = '      Thousand_Mesh handsome         '
      print(s1.strip())  # 去两端的空白
      
      s2 = '***!!!!!Thousand_Mesh handsome----***'
      print(s2.strip('-*!'))  # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
      print(s2.strip('nick'))  # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
      
      s2.strip('*-!')  # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
      
      print(s2)
      
      print('*' * 50)
      s2 = '***!!!!!Thousand_Mesh handsome----***'
      
      5.split() 切割
      print(s2.split())  # 默认以空格切割字符串
      print(s2.split('!'))  # 以!切割
      print(s2.split('!', 2))
      
      s2 = '***!!!!!Thousand_Mesh handsome----***'
      
      6.in 或 not in
      print('*' in s2)  # True
      print('$' not in s2)  # True
      
      7.长度len
      s2 = 'Thousand_Mesh handsome'
      print(len(s2))  # 求字符串的长度
      

      需要掌握

      1.lstrip() 和 rstrip()
      s2 = '***!!!!!Thousand_Mesh handsome----***'
      print(s2.lstrip('*'))
      print(s2.rstrip('*'))
      
      2.rsplit()
      print(s2.split('*', 1))
      print(s2.rsplit('*', 1))
      
      3.lower&upper
      s3 = 'aaabbJ'
      print(s3.lower())
      print(s3.upper())
      
      4.startswith&endswith
      s3 = 'aaabbJ'
      print(s3.startswith('b'))
      print(s3.endswith('J'))
      
      5.join(用的比较多)一般和split联用
      s3 = ' '
      print(s3.join(['234', '234', '234']))  # 以s3为间隔符,拼接列表里的每一个元素
      
      s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
      
      s1 = s.split('/')
      print('*'.join(s1))
      
      6.replace
      s2 = 'Thousand_Mesh handsome'
      
      print(s2.replace('Thousand_Mesh', 'tt'))
      
      7.isdigit(纯数字)/isalpha(纯字母)
      s2 = '12312'
      print(s2.isdigit())
      
      s3 = 'aaac1c'
      print(s3.isalpha())
      
      username_db ='nick'
      
      pwd_db = '123'
      
      inp_username = input('username:')
      
      inp_pwd = input('pwd:')
      
      if inp_username.isalpha():
      
      pass
      
      if inp_pwd.isdigit():
      
      pass
      

      了解 (能就能,不能就不能)

      1.find|rfind|index|rindex|count
      s2 = '**23423***ni234234ck $$ hand223423some******'
           01234567891011
      print(s2.find('$'))  # 从左找,找到第一个停止,找不到返回-1
      print(s2.rfind('$'))  # 从右找,找到就停止,找不到返回-1
      print(s2.index('$'))  # 找不到报错
      print(s2.rindex('$'))  # 找不到报错
      
      2.center|ljust|rjust|zfill
      s2 = 'nick handsome'
      print(s2.center(50, '*'))  # 居中
      print(s2.ljust(50, '*'))  # 居左
      print(s2.rjust(50, '*'))  # 居右
      print(s2.zfill(50))  # 填充0居右
      
      3.expandtabs
      s2 = 'a	a'
      print(s2)
      print(s2.expandtabs(8))  # 针对	而言
      
      4.captalize|swapcase|title 只针对英文
      s2 = 'harry Potter'
      print(s2.capitalize())  # 首字母(一句话的开头)大写,其他全小写,用在段落开始
      print(s2.swapcase())  # 大小写互换
      print(s2.title())  # 所有单词首字母大写
      
      5.is系列(有兴趣的自己了解)
    4. 存一个值还是多个值

      一个值

    5. 有序or无序

      有序

    6. 可变or不可变(重点)

      不可变

  • 相关阅读:
    Android学习第九天
    Android短信备份及插入笔记
    内容提供者实现应用访问另一个应用的数据库
    Verilog语言实现1/2分频
    QT中一个界面向另一个界面发送信号
    CMAKE设置Windows SDK编译版本
    VS2017下载地址
    VS 设置Windows SDK版本
    OBS 64bit版本编译
    Qt打包程序无法运行,提示应用程序无法正常启动0xc000007b解决办法
  • 原文地址:https://www.cnblogs.com/TMesh/p/11291151.html
Copyright © 2020-2023  润新知