zoukankan      html  css  js  c++  java
  • Python 数据类型:字符串

    一、字符串介绍

    字符串是由单引号/双引号/三引号引起来的,由字母 、数字或符号等构成的一串字符

    In [1]: name = "Tom"    # 定义字符串
    
    In [2]: type(name)      # 字符串的英文缩写为str
    Out[2]: str

    单引号 、双引号 、三引号的区别:

    1. 在 python 中,单引号与双引号没什么区别,三个单引号和三个双引号也没什么区别,效果是一样的,都可以定义一个字符串
    2. 单引号或双引号定义换行时,需要使用 " " 来实现,而三引号则可以直接回车来换行,这是三引号的不同之处
    3. 三引号除了能换行定义字符串之外,还能用作多行注释,在 python 程序中,"#" 只能注释单行,而三引号则可以注释多行
    4. 如下例子中,用四种方法定义的字符串,结果都是一样的

    In [1]: info = 'My name is Tom.
    I like reading.'    # 用单引号定义字符串
    
    In [2]: info = "My name is Tom.
    I like reading."    # 用双引号定义字符串
    
    In [3]: info = '''My name is Tom.                    # 用三个单引号定义字符串
       ...: I like reading.'''
    
    In [4]: info = """My name is Tom.                    # 用三个双引号定义字符串
       ...: I like reading."""

    二、字符串索引

    1. 在 python 中,字符串中的字符是通过索引来提取的,索引从 0 开始
    2. 如果是正向索引( 从左到右 ),则索引值从 0 开始,如 "hello" 这个字符串,每个元素的索引值分别为 0 1 2 3 4
    3. 如果是逆向索引( 从右到左 ),则索引值从 -1 开始,如 hello" 这个字符串,每个元素的索引值分别为 -5 -4 -3 -2 -1

    In [1]: str = "hello"    # 定义一个字符串
    In [2]: str[0]           # 取索引值为0的字符,也就是取第一个元素,结果为:h
    In [3]: str[2]           # 取索引值为2的字符,也就是取第三个元素,结果为:l
    In [4]: str[-1]          # 取索引值为-1的字符,也就是取倒数第一个元素,结果为:o
    In [5]: str[-3]          # 取索引值为-3的字符,也就是取倒数第三个元素,结果为:l

    三、字符串切片

    1. 切片也就是从一个字符串中截取其中的某一段字符,比如 "my name is Tom" 是一个字符串,我截取 "Tom" 出来就表示字符串的切片
    2. 切片可以用 " string[0:5] " 这种形式来表示,其中 0 表示起始索引,5 表示结果索引,也就是截取索引值从 0 到 5 这段字符,注意不包括索引值为5的字符
    3. 如果不写起始索引,则默认是从 0 开始,如 string[:5] ;如果不写结束索引,则默认取到最后一个索引值 ( -1 ) ,如 string[1:]
    4. 切片还可以加步长,如 string[0:10:2] 中的2就表示步长,即每隔两个数取一次

    In [1]: str = "abcdefg"    # 定义一个字符串
    In [2]: str[0:5]           # 取索引值为0到5之间的元素,不包括索引值为5的元素,结果为:abcde
    In [3]: str[:5]            # 如果不写起始索引,则默认的起始索引为0,结果为:abcde
    In [6]: str[5:]            # 如果不写结束索引,则默认取到最后一个值,结果为:fg
    In [7]: str[0:5:2]         # 取索引值为0到5之间的元素,且每隔两个数取一次,结果为:ace
    In [8]: str[::2]           # 两个冒号表示取所有的元素,2表示每隔两个数取一次,结果为:aceg
    In [9]: str[-4:-1]         # 取索引值为-4到-1之间的元素,不包括索引值为-1的元素,结果为:def

    四、字符串的方法

    lower() :用于把字符串中的大写字母转换成小写字母,如 str = "Hello World" ,则 str.lower() 结果为 "hello world"
    upper() :用于把字符串中的小写字母转换成大写字母,如 str = "Hello World" ,则 str.upper() 结果为 "HELLO WORLD"
    startswith() :用于判断字符串是否以指定的字符开头,如果是则返回True,否则返回False,如 str = "Hello World",则 str.startswith("He") 结果为 True
    split() :通过指定分隔符对字符串进行切片,结果返回一个列表,默认是以空格或换行来分割,如 str = "Hello World",则 str.split() 结果为 ['Hello', 'World'],详细用法
    j
    oin() :用于将序列中的元素以指定的字符连接生成一个新的字符串,如 '-'.join('abc') 结果为 'a-b-c',如 ':'.join(['a', 'b', 'c']) 结果为 'a:b:c'
    isdigit() :用于判断该字符串是否是纯数字的字符串,如果是返回True,否则返回False,如 str = "123",则 str.isdigit() 结果为 True
    capitalize():用于把字符串的首字母转换成大写,如 str = "hello world",则 str.capitalize() 结果为 'Hello world'
    replace():用于替换指定的字符串,如 str = "hello world",则 str.replace('l', 'L') 表示把 'l' 替换成 'L',结果为 'heLLo worLd'
    count():用于统计指定的字符在字符串中出现的次数,如 str = "hello world" ,则 str.count('l') 结果为3
    strip():用于删除字符串开头和结尾的空格或换行符,如 str = "   hello world   ",则 str.strip() 结果为 "hello world"
    lstrip():用于删除字符串开头的空格或换行符,如 str = "   hello world   ",则 str.lstrip() 结果为 "hello world   "
    rstrip():用于删除字符串结尾的空格或换行符,如 str = "   hello world   ",则 str.rstrip() 结果为 "   hello world"

        

  • 相关阅读:
    【HDOJ6667】Roundgod and Milk Tea(模拟)
    【HDOJ6655】Just Repeat(贪心)
    【HDOJ6651】Final Exam(贪心)
    【HDOJ6646】A + B = C(模拟)
    【HDOJ6656】Kejin Player(期望DP)
    【2019 Multi-University Training Contest 7】
    【HDOJ6635】Nonsense Time(时间倒流,lis)
    【HDOJ6638】Snowy Smile(线段树)
    【HDOJ6641】TDL(数论)
    【HDOJ6645】Stay Real(堆)
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10187044.html
Copyright © 2011-2022 走看看