• Python进阶(一)


    数字类型内置方法

    整型

    一、作用

    描述年龄、id等

    二、定义方式

    x = 10
    x = int('10')
    x = int(10.1)
    x = int('10.1') # 会报错
    

    三、内置方法

    数字类型没有内置方法,只有算数运算+ - * / // ** % 和比较运算> >= < <= != ==

    四、存一个值还是多个值

    一个值

    五、有序or无序

    有序或无序是怎么判断的?

    有序就是有索引的数据类型,那么无序就是没有索引的数据类型

    数字类型没有有序或无序的说法

    六、可变or不可变(重点)

    可变或不可变是这么区分的

    变量值改变的,内存地址的不变的叫可变

    变量值改变的,内存地址也变了的叫不可变

    数字类型是不可变的

    浮点型

    一、作用

    描述薪资等

    二、定义方式

    x = 1.1
    x = float('1.11')
    x = float('1')
    

    三、内置方法

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

    四、存一个值还是多个值

    一个值

    五、有序or无序

    没有有序无序的说法

    六、可变or不可变(重点)

    不可变

    字符串类型内置方法

    一、作用

    描述姓名、性别等

    二、定义方式

    name = 'zhangsan'
    s = b'asdf' # 打印出来的是bytes(二进制类型),有这种定义方式,但一点用都没有
    

    三、内置方法

    优先掌握
    1. 索引取值

      按照索引序号行进取值,操作符是[]

      s = 'Hello World'
      print(s[2])
      
    2. 切片

      按照索引进行切片,操作符是[:],顾头不顾尾。当[]中有两个冒号的时候,最后一个数字表示步长,步长为正是从左向右切片,步长为负是从右向左切片,不推荐步长为负。如果两个冒号中间没有数,就是表明取到字符串的最后一位

      s = 'Hello World'
      print(s[0:4])
      print(s[0:8:2])
      print(s[-4::-1])
      
    3. 长度len

      就是求字符串的长度

      s = 'Hello World'
      print(len(s))
      
    4. 成员运算 in 或not in

      判断某个字符是否在字符串里,然后返回True或False

      s = 'Hello World'
      print('e' in s) # True
      print('*' not in s) # True
      
    5. 移除空白strip

      移除字符串开头或是结尾的空格或指定字符

      strip()带有指定字符的时候,会先去判断字符串两端是否有需要删除的字符,有就删除,没有就不进行删除处理,当strip()中指定的字符不在字符串最两端,也不会进行删除处理

      s = '   Hello World   '
      print(s.strip())
      
    6. 切割split

      切割默认是以空格进行切割,也可以指定字符进行切割,切割后返回字符串列表

      split()中有个参数是maxsplit,当这个参数有指定值得时候,会切割成指定值+1个子字符串

      s = 'Hello World'
      print(s.split())
      # 返回['Hello', 'World'] 以空格切割
      print(s.split('l'))
      # 返回['He', '', 'o Wor', 'd'] 以l切割
      print(s.split('o',2))
      # 返回['Hell', ' W', 'rld'] maxsplit为2的时候,会切割出三个子字符串
      
    7. 循环

      循环就是把字符串里的字符一个一个的打印出来

      s = 'Hello'
      for i in s:
          print(i)
      
      # H
      # e
      # l
      # l
      # o
      
    需要掌握
    1. lstrip&rstrip

      lstrip()和rstrip()类似于strip(),是对strip()方法的细分

      lstrip()是移除字符串左边的空格或指定字符

      s = '   Hello World   '
      print(s.lstrip())
      # Hello World   
      

      rstrip()是移除字符串右边的空格或指定字符

      s = '   Hello World&&&'
      print(s.rstrip('&'))
      #    Hello World
      
    2. lower&upper

      lower()是把字符串里的字符全小写

      s = 'Hello World'
      print(s.lower())
      # hello world
      

      upper()是把字符串里的字符全大写

      s = 'Hello World'
      print(s.upper())
      # HELLO WORLD
      
    3. startswith&endswith

      startswhith()和endswith()是判断字符串是否以指定字符开头或结尾,是就返回True,不是就返回False

      startswith()是以...开始

      s = 'Hello World'
      print(s.strtswith('He'))
      # True
      

      endswith()是以...结尾

      s = 'Hello World'
      print(s.endswith('ol'))
      # False
      
    4. rsplit

      rsplit()类似于split(),只不过是从右边开始切割,其余的作用和split()是一样的

      s = '&&&Hello World&&&'
      print(s.rsplit('&',1))
      ['&&&Hello World&&', '']
      
    5. join

      join()是将字符串中的元素以指定的字符进行拼接,一般和split连用

      s = ('H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd')
      print('-'.join(s))
      # H-e-l-l-o-W-o-r-l-d
      
      s1 = '西瓜*苹果*梨*香蕉*橘子*水蜜桃'
      s2 = s1.split('*')
      print('/'.join(s2))
      # 西瓜/苹果/梨/香蕉/橘子/水蜜桃
      
    6. replace

      replace()是把字符串中的旧字符串替换成新字符串

      s = 'Hello World'
      print(s.replace('World','Python'))
      # Hello Python
      
    7. isdigit

      isdigit()是判断字符串是否是纯数字,是就返回True,不是就返回False

      s = '123456'
      print(s.isdigit())
      # True
      

      isalpha()是判断字符串是否是纯字母,是就返回True,不是就返回False

      s = 'Hello World'
      print(s.isalpha())
      # False 
      # 包含空格,不是纯字母
      
    仅做了解
    1. find()/rfind()/index()/rindex()/count()

      find()是查找字符串中是否包含指定字符,找到就停止并返回该指定字符的索引序号,找不到返回-1

      rfind()类似于find(),只不过是从右边开始寻找,找到就停止,找不到返回-1

      index()和rindex()类似于find()和rfind(),只不过index()和rindex()找不到会报错

      count()是用来统计字符串中某个字符出现的次数

    2. center()/ljust()/rjust()/zfill()

      center()是字符串居中,然后填充,默认填充空格,也可以指定字符进行填充

      ljust()是字符串居左,然后填充,默认填充空格,也可以指定字符进行填充

      rjust()是字符串居右,然后填充,默认填充空格,也可以指定字符进行填充

      zfill()是字符串居右,然后填充0

    3. expandtabs()

      expandtabs()把字符串中' '转为空格

    4. captalize()/swapcase()/title()

      captalize()将字符串的第一个字母转为大写,其余字母转为小写

      s = 'hello World'
      print(s.capitalize())
      # Hello world
      

      swapcase()将字符串中的字母进行大小写互换

      s = 'Hello World'
      print(s.swapcase())
      # hELLO wORLD
      

      title()将字符串中每个单词的首字母转为大写,其余字母转为小写

      s = 'hello worLD'
      print(s.title())
      # Hello World
      
    5. is数字系列(判断是否为数字的时候除了中文数字以外使用isdigit()就行了)

    四、存一个值还是多个值

    一个值

    五、有序or无序

    有序

    六、可变or不可变(重点)

    字符串类型是不可变的

  • 相关阅读:
    洛谷P4587 [FJOI2016]神秘数(主席树)
    洛谷P4609 [FJOI2016]建筑师(第一类斯特林数+组合数)
    Bzoj4016/洛谷P2993 [FJOI2014] 最短路径树问题(最短路径问题+长链剖分/点分治)
    Bzoj1486/洛谷P3199 最小圈(0/1分数规划+spfa)/(动态规划+结论)
    Bzoj4753/洛谷P4432 [JSOI2016]最佳团体(0/1分数规划+树形DP)
    Bzoj3197/洛谷3296 [SDOI2013]刺客信条assassin(树的重心+树Hash+树形DP+KM)
    关于二分图的完美匹配问题
    Bzoj3837 [Pa2013]Filary(随机化)
    Bzoj3566/洛谷P4284 [SHOI2014]概率充电器(概率dp)
    杜教筛学习笔记
  • 原文地址:https://www.cnblogs.com/yunluo/p/11294146.html
Copyright © 2020-2023  润新知