zoukankan      html  css  js  c++  java
  • python进阶之数字类型内置方法和字符串类型内置方法

    今天开始学习python进阶的知识点了,更加烧脑了,哈哈

    一、数据类型内置方法

    总结模板:

    • 作用

    • 定义方式

    • 内置方法

    • 存一个值还是多个值

    • 有序or无序(有序:也就是有索引,无序:无索引)

    • 可变or不可变(重点)

      可变:变量值变id不变

      不可变:变量值变id也变

      id不变值可变,即在原值的基础上修改,则为可变数据类型;值变id也变,即重新申请一个空间放入新值,则为不可变数据类型。

    1.1 数字类型内置方法

    1.1.1 整型

    • 作用:表示年龄、号码、等级等

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

      x = 10
      x = int('10')
      x = int(10.1)
      print(x)         # 10
      x = int('10.1')  # 报错,int()里10.1本来就是字符串了,不需要加引号
      print(x)
      
    • 内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=

    • 存一个值还是多个值:存一个值

    • 有序or无序:整型只有一个值,没有这个说法

    • 可变or不可变:不可变

      x=10
      print(id(x))   # id为1925279488
      x=11
      print(id(x))   # id为1925279520
      

      值变id也变,所以整型为不可变

    1.1.2浮点型

    • 作用:用来表示薪资、身高、体重等

    • 定义方式:可以使用float()方法将纯数字的字符串转为浮点型数字

      x = float('111')
      print(x)        #  输出为111.0
      print(type(x))  #  <class 'float'>
      
    • 内置方法:没有内置方法,只有算术运算+-*/和比较运算> < >= <=

    • 存一个值还是多个值:一个值

    • 有序or无序:没有这一说法

    • 可变or不可变(重点):不可变

    数字类型都不可变

    1.2 字符串类型内置方法

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

    • 定义方式:使用''、""、''''''、""""""包裹的的一串字符

      s = 'sdfklsdjfk'
      s = b'sdkfljl' # 打印出来的bytes类型,二进制类型,010101010100110100  # 有这种二进制的定义方式,其实一点用都没有
      print(s)
      
      # 
       换行
      s  = 'a
      a'  # 碰到斜杠了,计算机就清楚下一个字符和拼接在一起会有特殊的意义
      print(s)  
      
      # 	 缩进4个空格
      s = 'a		a'
      print(s)   # 输出结果为a    a
      
      # 
       回退上一个打印结果,覆盖上一个打印结果
      print(r'
      a',end='')   # 让
      变得无意义
      print('\ra',end='')  # 加一个让后面的变得无意义
      
      
      # s = 'a\na'
      # print(s)
      # s = r'
      a	
      a'  # raw
      # print(s)
      
    • 内置方法:

    s='nick handsome'
    # 一、优先掌握:
    # 1、按索引取值(只可取,不可改变)
    print(s[1])  # 输出为i
    
    # 2、切片(顾头不顾尾,步长)
    # 索引切片
    msg = 'hello nick'
    #      0123456789  # 索引序号
    
    print(f'切片3-最后: {msg[3:]}')  # 从索引3的位置切片到最后一位,输出为lo nick
    print(f'切片3-8: {msg[3:8]}')    # 输出为lo ni
    print(f'切片3-8,步长为2: {msg[3:8:2]}')  # 输出为l i
    print(f'切片3-最后,步长为2: {msg[3::2]}')  # 输出为l ik
    
    # 了解,步长为正从左到右;步长为负从右到左
    print('
    **了解知识点**')             # **了解知识点**
    print(f'切片所有: {msg[:]}')          # 切片所有: hello nick
    print(f'反转所有: {msg[::-1]}')       # 反转所有: kcin olleh
    print(f'切片-5--2: {msg[-5:-2:1]}')   # 切片-5--2:  ni
    print(f'切片-2--5: {msg[-2:-5:-1]}')  # 切片-2--5: cin
    
    # 3、for循环
    s = 'nick handsome'
    for i in s:
        print(i)  # 逐行打印s中的每个字符
       
    # 4、strip()  移除空白
    s1 = '      nick handsome         '
    print(s1.strip())  # 去两端的空白
    
    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))  # 以!切割,最大切割次数为2,也就是从找到第一个!开始切割,找到第二个!切割后就结束切割
    
    # 6、in 或 not in  返回结果就是True或False
    s2 = '***!!!!!nick handsome----***'
    print('*' in s2)  # True
    print('$' not in s2)  # True
    
    # 7. 长度len
    s2 = 'nick handsome'
    print(len(s2))  # 求字符串的长度
    
    
    # 二、需要掌握:
    # 1. lstrip() 和 rstrip()  左移除和右移除
    s2 = '***!!!!!nick handsome----***'
    print(s2.lstrip('*'))  # !!!!!nick handsome----***
    print(s2.rstrip('*'))  # ***!!!!!nick handsome----
    
    # 2. rsplit() 从右开始切割
    info = 'nick:male:19'
    print(f"info.rsplit(':', 1): {info.rsplit(':', 1)}")  # 从右开始切割,1表示只切割一次,输出为info.rsplit(':', 1): ['nick:male', '19']
    
    # lower&upper   把大写变小写和把小写变大写
    s3 = 'aaabbJ'
    print(s3.lower())  # 把字符串中所有大写变成小写,aaabbj
    print(s3.upper())  # 把字符串中所有小写变成大写,AAABBJ
    
    # startswith&endswith  以什么开头和以什么结尾,返回结果为True或False
    s3 = 'aaabbJ'
    print(s3.startswith('b'))  # False
    print(s3.endswith('J'))    # True
    
    
    # join(用的比较多)一般和split联用
    s3 = ' '
    print(s3.join(['234', '234', '234']))  # 以s3也就是以空格为间隔符,拼接列表里的每一个元素,输出为234 234 234
    
    s = '辣条/薯片/汽水/泡面/火腿肠/枸杞/当归/鹿茸'
    s1 = s.split('/')  # 先把s以/切分
    print(s1)   #  ['辣条', '薯片', '汽水', '泡面', '火腿肠', '枸杞', '当归', '鹿茸']
    print('*'.join(s1))  # 再把切分后的每一个元素间用*连接
    # 输出结果为:辣条*薯片*汽水*泡面*火腿肠*枸杞*当归*鹿茸
    
    
    # replace  替换
    s2 = 'yongjiu handsome'
    print(s2.replace('yongjiu', 'gebilaowang')) # 用gebilaowang替换掉yongjiu
    
    
    ## isdigit(纯数字)/isalpha(纯字母)  返回结果为True或False
    s2 = '12312'
    print(s2.isdigit())   # True
    
    s3 = 'aaac1c'
    print(s3.isalpha())  # False
    
    
    # 3、做了解即可
    # find|rfind|index|rindex|count    一般常用find
    s2 = '**23423***ni234234ck $$ hand223423some******'
    print(s2.find('$'))  # 从左找,找到第一个停止,找不到返回-1
    print(s2.rfind('$'))  # 从右找,找到就停止,找不到返回-1
    
    print(s2.index('$'))  # 找不到报错
    print(s2.rindex('$'))  # 找不到报错
    
    # 2、center()居中、ljust()左对齐、rjust()右对齐、zfill()
    # 3、expandtabs()扩充标签
    # 4、captalize()段落首字母大写、swapcase()大小写互换、title()每个首字母大写
    # 5、is系列(真正的只需要了解)
    
    
    
    • 存一个值还是多个值:一个值
    • 有序or无序:有序,只要是有索引的,都是有序的,因此字符串是有序的
    • 可变or不可变(重点):不可变

    字符串的内置方法得多记多用,多打代码练习,才能熟练使用

  • 相关阅读:
    Python之while循环
    Python之分支语句
    Python之变量
    Python开挂的吧!
    xshell 连接 ubuntu 16.04报错
    js中的script标签
    javascript中的事件学习总结
    【JAVAWEB学习笔记】04_JavaScript
    【JAVAWEB学习笔记】03_JavaScript
    【JAVAWEB学习笔记】02_HTML&CSS
  • 原文地址:https://www.cnblogs.com/zhuangyl23/p/11291584.html
Copyright © 2011-2022 走看看