【Python程序开发】【基础】数字、字符串类型内置方法

数据类型

1为什么要有数据类型

​ 对于不同类型的变量需要用不同的数据类型去描述

​ 常用:数字类型、字符串、列表、字典、布尔值

1.1数据类型的内置方法

1.1.1 整型
  1. 作用:年龄/身份证号码/身高/体重……

  2. 定义方式:

    y = 10
    id_num = 5201314
    x = int(10)
    z = int('10')
    
  3. 方法:

    print(y+x)
    print(y-x)
    print(y*x)
    print(y/x)
    print(y%x)
    print(y//x)
    
  4. 存储一个值or多个值:一个值

  5. 有序or无序:没有有序无序这一说

    有序:有索引

    无序:无索引

  6. 可变or不可变:不可变

    可变:值变id不变
    不可变:值变id也变

1.1.2浮点型
  1. 作用:钱/商品价格/导弹轨迹计算……

  2. 定义方式:

    x=1.1
    y = 2.2
    salary = float(3)
    print(salary)
    
  3. 方法:

    print(y+x)
    print(y-x)
    print(y*x)
    print(y/x)
    print(y%x)
    print(y//x)
    
  4. 存储一个值or多个值:一个值

  5. 有序or无序

  6. 可变or不可变:不可变

1.1.3字符串类型
  1. 作用:姓名/性别/……

  2. 定义方式

    1. s = 'sdfklsdjfk'
      
      s = b'sdkfljl' # 打印出来的bytes类型,二进制类型,010101010100110100  # 有这种二进制的定义方式,其实一点用都没有print(s)
      
    2. \n 换行
      
      s  = 'a\na'  # 碰到斜杠了,计算机就清楚下一个字符和\拼接在一起会有特殊的意义
      print(s)
      
      \t 缩进4个空格
      s = 'a\t\ta'
      print(s)
      
      \r 回退上一个打印结果,覆盖上一个打印结果
      print('\\ra',end='')  # 加一个\让后面的\变得无意义
      print('\\ra',end='')
      
      
      s = 'a\\na'
      print(s)
      s = r'\ra\t\na'  # raw
      print(s)
      
      path = r'D:'
      print(path)
      import os
      path = os.path.join(path,'test.txt')
      with open(path,'w',encoding='utf8') as fw:
          fw.write('nick最帅')
      print(path)
      
  3. 字符串内置方法(只有字符串类型才能使用)

    s = 'nick handsome'
    
    优先掌握
    1. 索引取值

      print(s[1])
      输出:i
      
    2. 切片

      整数表示从左往右,复数表示从右往左,数值表示步长

      print(s[0:4:2]) #索引值0-4 步长为2 输出:nc
       
      print(s[-4::-1])  # 不推荐掌握 输出:sdnah kcin
      
      print(s[4:0:-1]) #输出: kci
      
    3. for循环

      for i in s:
          print(i) #输出:依次打印i到s之间的数值
      
    4. strip()

      s1 = '      nick handsome         '
      print(s1.strip())  # 去两端的空白
      输出:nick handsome
      
      s2 = '***!!!!!nick handsome----***'
      print(s2.strip('-*!'))  # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
      #可以清除
      print(s2.strip('nick'))  # 指定多个字符一起去掉,只要strip里面有的字符就全部干掉
      #清除不了
      
      s2.strip('*-!')  # 首先判断字符串s的两端字符,为*,再去strip里找有没有*,有就去掉,再去判断字符串s的两端字符,!-,再从strip里面找,有去掉,没有停止去掉
      
    5. split() 切割

      s2 = '***!!!!!nick handsome----***'
      print(s2.split())  # 默认以空格切割字符串
      print(s2.split('!'))  # 以!切割
      print(s2.split('!', 2)) #参数sep:切割符 maxsplit:最大切割数
      
    6. in 或 not in

      s2 = '***!!!!!nick handsome----***'
      print('*' in s2)  # True
      print('$' not in s2)  # True
      
    7. 长度len

      s2 = 'nick handsome'
      print(len(s2))  # 求字符串的长度 #输出:13
      
    需要掌握
    1. lstrip() 和 rstrip()
    s2 = '***!!!!!nick handsome----***'
    print(s2.lstrip('*')) #清除左边的
    print(s2.rstrip('*')) #清除右边的
    
    1. rsplit()

      print(s2.split('*', 1)) #从左边开始分割
      print(s2.rsplit('*', 1)) #从右边开始分割
      
    2. lower&upper

      s3 = 'aaabbJ'
      print(s3.lower()) #全部变成小写
      print(s3.upper()) #全部变成大写
      
    3. startswith&endswith

      s3 = 'aaabbJ'
      print(s3.startswith('b')) #以b开头 False
      print(s3.endswith('J')) #以J结尾 True
      
    4. join(用的比较多)一般与split联用

      s3 = ' '
      print(s3.join(['234', '234', '234']))  # 以s3为间隔符,拼接列表里的每一个元素
      
      s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
      
      s1 = s.split('/')
      print(''.join(s1))
      
    5. replace 替换

      s2 = 'yongjiu handsome'
      
      print(s2.replace('yongjiu', 'gebilaowang'))
      #输出:gebilaowang handsome
      
    6. isdigit(纯数字)/isalpha(纯字母)

      s2 = '12312'
      print(s2.isdigit()) #输出:Ture
      
      s3 = 'aaacc'
      print(s3.isalpha()) #输出:True
      
    了解
    • find|rfind|index|rindex|count
    s2 = '**23423***ni234234ck $$ hand223423some******'
    #     01234567891011
    print(s2.find('$'))  # 从左找,找到第一个停止,找不到返回-1
    print(s2.rfind('$'))  # 从右找,找到就停止,找不到返回-1
    
    print(s2.index('$'))  # 找不到报错
    print(s2.rindex('$'))  # 找不到报错
    
    • #center|ljust|rjust|zfill
    s2 = 'nick handsome'
    print(s2.center(50, '*'))  # 居中
    print(s2.ljust(50, '*'))  # 居左
    print(s2.rjust(50, '*'))  # 居右
    print(s2.zfill(50))  # 填充0居右
    
    • expandtabs
    s2 = 'a\ta'
    print(s2)
    print(s2.expandtabs(8))  # 针对\t而言 只有有\t的时候才生效
    
    • #captalize|swapcase|title 只针对英文
    s2 = 'harry Potter'
    
    print(s2.capitalize())  # 首字母(一句话的开头)大写,其他全小写,用在段落开始
    print(s2.swapcase())  # 大小写互换
    print(s2.title())  # 所有单词首字母大写
    

4.存储一个值还是多个值:一个值

5.有序or无序:(有索引)有序

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

​ 可变:值变id不变

​ 不可变:值边id也变

s2 = 'abc'
print(id(s2))
s2 += 'abc'
print(id(s2))
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值