美文网首页学习提升PythonPython全栈
6.Python基础数据类型之字符串

6.Python基础数据类型之字符串

作者: 免跪姓黄 | 来源:发表于2020-02-06 15:44 被阅读0次

Python基础数据类型之字符串

  1. 字符串(str)

    • 字符串是 Python 中最常用的数据类型。使用引号('或")来创建字符串。字符串从左至右有顺序,可进行索引、切片,索引、切片后的数据开辟新的内存空间,数据类型仍是字符串。

      s = "Python字符串"
      
    • 字符串的类型有两种:一种是str,另一种是bytes

  2. 字符串的索引

    • Python 对字符串中的元素取值时,可以使用方括号来截取字符串中的元素

      s = "Python字符串"
      print(s[4])
      # 输出结果:o
      
  3. 字符串的切片

    切片的特点是:顾头不顾尾

    • 字符串从头切片

      s = "Python字符串"
      print(s[0:6]    # 可以简写成:print(s[:6])
      # 输出结果:Python
      
    • 字符串从中间切片

      s = "Python字符串"
      print(s[6:8])
      # 输出结果: 字符
      
    • 字符串从未尾切片

      s = "Python字符串"
      print(s[-3:])
      # 输出结果: 字符串
      
    • 字符串切片加步长

      s = "Python字符串"
      print(s[1:8:2])
      # 输出结果: yhn符
      
    • 字符串反向切片

      s = "Python字符串"
      print(s[-1::-1])    # s[-1::-1]表示从字符串的末尾到开头,最后的-1表示反向步长,进行反向切片
      # 输出结果:串符字nohtyP
      
  4. 字符串常用的内置方法

    • upper:将字符串中的英文全部变为大写(★)

      s = "Python字符串"
      s_upper = s.upper()     # 不会更改字符串s的值,s_upper会开辟新的内存空间存储数据
      print(s_upper)
      # 输出结果:PYTHON字符串
      
      # 应用场景(用于验证码或其他不区分大小写的验证)
      code = "QwEr"
      while 1:
          user_input_code = input("请输入验证码:").strip()
          if user_input_code.upper() == code.upper():
              print("验证成功!")
              break
          else:
              print("验证失败!请重新输入!")
      
    • lower:将字符串中的英文全部变为小写(★)

      s = "Python字符串"
      s_lower = s.lower()
      print(s_lower)
      # 输出结果:python字符串
      
    • capitalize:将字符串首字母大写,其他变成小写

      s = "pyThon"
      print(s.capitalize())
      #输出结果:Python
      
    • swapcase:将字符串中的大小写字母互换

      s = "pyThon"
      print(s.swapcase())
      #输出结果:PYtHON
      
    • title:非字母元素隔开的每个单词首字母大写

      s = "beautiful is better than ugly."
      print(s.title())
      #输出结果:Beautiful Is Better Than Ugly.
      
    • center:字符串居中,可设置左右宽度及空白填充字符

      s = "Welcome"
      print(s.center(20,"-"))
      #输出结果:------Welcome-------
      
    • find:通过字符查找所在字符串中的索引位置(特点:如果有重复,则找到第一个,后面的就不找了,如果找不到返回值:-1)

      s = "Welcome"
      print(s.find("c"))
      #输出结果:3
      
      # 如果找不到就返回-1
      s = "Welcome"
      print(s.find("a"))
      #输出结果:-1
      
    • index:通过字符查找所在字符串中的索引位置(特点:如果有重复,则找到第一个,后面的就不找了,如果找不到会报错)

      s = "Welcome"
      print(s.index("c"))
      #输出结果:3
      
      # 如果找不到会报错
      s = "Welcome"
      print(s.index("a"))
      #输出结果:
      '''
      Traceback (most recent call last):
        File "C:/Python/Python3.8/test.py", line 5, in <module>
          print(s.index("a"))
      ValueError: substring not found
      '''
      
    • startswith:判断字符串是否以……开始(★)

      s = "Python字符串"
      print(s.startswith("Py"))
      # 输出结果:True
      
      s = "Python字符串"
      # print(s.startswith("py"))
      # # 输出结果:False
      
      s = "Python字符串"
      print(s.startswith("t", 2, 6))  # 判断字符串2到6的切片是否以"t"开头
      # 输出结果:True
      
    • endswith:判断字符串是否以……结束(★)

      s = "Python字符串"
      print(s.endswith("字符串"))
      # 输出结果:True
      # 其他功能同startswith
      
    • replace:替换字符串中指定的元素(★)

      s = "Python字符串是Python中最常用的数据类型"
      print(s.replace("Python", "py"))    # 默认将所有指定内容全部替换
      # s.replace("Python", "py")不会更改字符串s的值,会开辟新的内存空间存储数据。
      # 输出结果:py字符串是py中最常用的数据类型
      
      s = "Python字符串是Python中最常用的数据类型"
      print(s.replace("Python", "py", 1))     # 1表示从左往右指定替换的个数
      # py字符串是Python中最常用的数据类型
      
    • strip:去除字符串左右两边的空白(★)

      s = "  \n  Python字符串    \t   "
      print(s.strip())
      # 输出结果:Python字符串
      
      # 不仅可以去除空白,还可以去除指定的字符
      s = "aacdPython字符串abc"
      print(s.strip("abcd"))
      # 输出结果:Python字符串
      # 去除机制和原理:左右两边同时查找有没有指定去除的元素,有就去除,知道没有后停止。
      
    • split:将字符串分割成列表(非常重要)(★)

      # 默认按照空格分割成列表
      s = "Python 字符串"
      print(s.split())
      # 输出结果:['Python', '字符串']
      
      # 按照指定字符分割成列表
      s = ",Python,字,符,串"
      print(s.split(","))
      # 输出结果:['', 'Python', '字', '符', '串']
      
      # 按照指定字符的个数分割成列表
      s = ",Python,字,符,串"
      print(s.split(",", 2))
      # 输出结果:['', 'Python', '字,符,串']
      
    • john:将任何可迭代对象换成字符串类型(非常重要)(★)

      s = "Python字符串"
      s1 = "-".join(s)
      print(s1)
      # 输出结果:P-y-t-h-o-n-字-符-串
      
      l = ["Python", "列表", "转换", "字符串"]
      s = "".join(l)
      print(s)
      # 输出结果:Python列表转换字符串
      
      l = ["Python", "列表", "转换", "字符串"]
      s = "-".join(l)
      print(s)
      # 输出结果:Python-列表-转换-字符串
      
      
    • count:计算字符串中某个字符出现的次数(★)

      s = "qwertyasdfgswdfgdef"
      print(s.count("f"))
      # 输出结果:3
      
    • format:字符串格式化输出(★)

      # 按照顺序进行格式化输出
      s = "{}字符串{}".format("Python", "格式化输出")
      print(s)
      # 输出结果:Python字符串格式化输出
      
      # 按照索引进行格式化输出
      s = "{1}字符串{0}".format("Python", "格式化输出")
      print(s)
      # 输出结果:格式化输出字符串Python
      
      # 按照key、value格式化输出
      s = "{a}字符串{b}".format(a="Python", b="格式化输出")
      print(s)
      # 输出结果:Python字符串格式化输出
      
    • is系列:对字符串进行判断的一系列内置功能(★)

      s = "Python字符串"
      print(s.isalpha() # 判断是否由字母组成
      # 输出结果:True
      
      s = "Python字符串"
      print(s.isdecimal())  # 判断是否由十进制数字组成
      # 输出结果:False
            
      # 应用案例:
          while 1:
          s = input("请输入交易金额:")
          if s.isdecimal():
              s = int(s)
              print("交易金额为:{}元".format(s))
              break
          else:
              print("输入有误,请重新输入!")
            
      s = "Python字符串"
      print(s.isalnum())  # 判断是否由字母或数字组成
      # 输出结果:False
      
  5. 字符串的成员运算

    所有可迭代对象(字符串、列表、元组等)都支持成员运算,返回布尔值。一般与for循环联用。

    • 运算符:in

      • 如果在指定的序列中找到值返回 True,否则返回 False。

        s = "Python字符串"
        print("hon" in s)
        # 输出结果:True
        
        s = "Python字符串"
        print("Pon" in s)
        # 输出结果:False
        
    • 运算符:not in

      • 如果在指定的序列中没有找到值返回 True,否则返回 False。

        s = "Python字符串"
        print("字符串" not in s)
        # 输出结果:False
        
        s = "Python字符串"
        print("字串" not in s)
        # 输出结果:True
        
  6. 字符串的格式化操作

    • 方式一:%-formatting(Python诞生时就有)

      s = '%s的格式化%s' %('字符串', '输出')
      print(s)    # 字符串的格式化输出
      
    • 方式二:str.format()(Python 2.6中引入)

      s = '{}的格式化{}'.format('字符串', '输出')
      print(s)    # 字符串的格式化输出
      
      s = '{b}的格式化{a}'.format(a='字符串', b='输出')
      print(s)    # 输出的格式化字符串
      
    • 方式三:F-Strings(Python 3.6中引入,不仅格式更简单,支持表达式,而且替换的效率更高)

      # 标准格式化输出
      s1 = 'Python'
      s2 = '输出'
      s = F'{s1}的格式化{s2}'
      print(s)    # Python的格式化输出
      
      # 任意表达式输出
      d = {'name':'Python', 'age':2020-1989}
      s = F'{d["name"]}今年{d["age"]}岁了'
      print(s)    # Python今年31岁了
      
      # 调取函数
      def func():
         return 'Python'
      
      s = F'{func()}的格式化输出'
      print(s)    # Python的格式化输出
      # -------------------------分隔符----------------------------
      def func(a,b):
         c = a + b
         return c
      
      s = F'两个数的求和结果是:{func(10,20)}'
      print(s)    # 两个数的求和结果是:30
      

相关文章

  • 6.Python基础数据类型之字符串

    Python基础数据类型之字符串 字符串(str)字符串是 Python 中最常用的数据类型。使用引号('或")来...

  • Kotlin学习之基础数据类型

    Kotlin学习之基础数据类型 @(Kotlin学习) Kotlin的基础数据类型包括数字类型、字符类型、字符串类...

  • R语言基础--数据类型-总结

    R语言基础--数据类型-总结 1、R语言基础--数据类型之向量 2、R语言基础--数据类型之因子 3、R语言基础-...

  • Python基础语法 - 数据类型

    一、 数据类型 变量的定义与声明 常用的基础数据类型 字符串的常见操作 字符串的截取 字符串的运算 字符串的常用函...

  • python字符串基础操作

    字符串基础操作 Python的数据类型可以分为可变数据类型(列表和字典)和不可变数据类型(整型、浮点型、字符串、布...

  • 6.Python基础语法---02基础数据类型

    基础数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处...

  • php简单的基础总结(持续更新)

    php基础 数据类型 & 内存的公用常见的数据类型 intfloat.... 字符串函数 字符串的定义方法常见的字...

  • 基本数据类型

    基础数据类型 基本数据类型(值类型)number 数字string 字符串boolean 布尔nullundefi...

  • Java基础——String

    Java基础之字符串 Java字符串是最常用的引用数据类型之一,那么对于一些小的细节可能很多朋友不够特别了解,这一...

  • JavaScript 原始数据类型转换

    Js基础数据类型有7种: 原始数据类型(6种)number (数值)string (字符串)boolean (布尔...

网友评论

    本文标题:6.Python基础数据类型之字符串

    本文链接:https://www.haomeiwen.com/subject/wohuxhtx.html