美文网首页
Python基础-字符串(String)

Python基础-字符串(String)

作者: adkins_y | 来源:发表于2019-01-07 16:15 被阅读0次

    字符串是Python中常用的一种变量,由0个或多个字符组成一串字符。

    创建字符串

    通常用('或者")来创建,但格式为一行,如果要创建多行的字符串怎么办,要么用(\n)转义符,或者用('''*)来创建。

    s1 = 'Hello, world!'
    s2 = "Hello, world!"
    s3 = "one:Hello, world! \n two:Hello, world!"
    s4 = '''one
    two
    three'''
    
    print(s1)
    print(s2)
    print(s3)
    print(s4)
    

    运行结果如下:

    Hello, world!
    Hello, world!
    one:Hello, world!
    two:Hello, world!
    one
    two
    three

    字符串拼接

    可以将两个或多个字符串拼接组成一个新的字符中。

    1、用(+)号拼接
    s1 = 'Hello,'
    s2 = "world!"
    s3 = s1 + s2
    print(s3)
    

    运行结果如下:

    Hello, world!

    同理,多个字符串拼接也是一样的, 变量1+变量2+变量3·······

    2、用(%)号格式化字符串
    print('今天的天气是%s' %'多云')
    print('今天的天气是%s,温度%d' %('多云', 23))
    

    运行结果如下:

    今天的天气是多云
    今天的天气是多云,温度23

    上实例中,第一个拼接了1个字符串,第二个实例中拼接了1个字符串1个整型,其中常用的拼接方式有:

    符号 描述
    %s 格式化字符串
    %d 格式化整型
    %f 格式化浮点数,可指定小数位数
    3、str.format
    s1 = '大括号{}跟美元符号的相似。'
    s2 = '同意也可添加多个参数。{}和{}'
    print(s1.format('用法'))
    print(s2.format('第一个', '第二个'))
    

    运行结果如下:

    大括号用法跟美元符号的相似。
    同意也可添加多个参数。第一个和第二个

    Python 字符串内构建函数

    由于函数较多,这里就直介绍几个常用。

    find()、rfind()方法

    find()返回字符串中是否包含子字符串,如果包含则返回位置,否则返回-1。
    rfind()函数与find()一样,区别:rfind()函数是从右往左查找。

    str1 = 'Hello, world!'
    print('o所在的位置是:', str1.find('o'))
    print('s所在的位置是:', str1.find('s'))
    

    运行结果如下:

    o所在的位置是: 4
    s所在的位置是: -1

    还可以设置起止位置,如果截止位置未设置,则默认为字符串的长度

    str1 = 'Hello, world!'
    print('o所在的位置是:', str1.find('o', 5, 10))
    print('o所在的位置是:', str1.find('o', 5))
    

    运行结果如下:

    o所在的位置是: 8
    o所在的位置是: 8

    len()方法

    返回字符串的长度

    str1 = 'Hello, world!'
    print('字符串的长度:', len(str1))
    

    运行结果如下:

    字符串的长度: 13

    strip()、lstrip()、rstrip() 方法

    strip()删除首尾指定的字符串,如果为空则默认删除空格
    注意:此方法只能删除首尾的字符,不能删除字符串中间的字符

    str1 = '***Hello,   world!   '
    print(str1.strip()) #删除空格
    print(str1.strip('*')) #删除*号
    

    运行结果如下:

    ***Hello, world!
    Hello, world!

    由于删除空格复制出来的信息无法直观展示,请各位自行尝试。
    lstrip()是删除字符串首的指定字符;
    rstrip()则是删除字符串尾部的指定字符。

    index() 方法

    与find()函数相似
    区别:
    1、find()函数只能对字符串查找,index()函数还能对列表进行查找
    2、find()函数如果未找到到,则返回-1,index()函数如果没有找到,则会报错
    如下是对列表查找的实例

    list1 = ['one', 'two', 'three']
    print(list1.index('two'))
    print(list1.find('two'))
    

    运行结果如下:

    1
    Traceback (most recent call last):
    File "字符串.py", line 4, in <module>
    print(list1.find('two'))
    AttributeError: 'list' object has no attribute 'find'

    如下是对字符串查找的实例

    str1 = 'one two three'
    print(str1.find('two'))
    print(str1.index('two'))
    print(str1.index('abc'))
    

    运行结果如下:

    4
    4
    Traceback (most recent call last):
    File "字符串.py", line 7, in <module>
    print(str1.index('abc'))
    ValueError: substring not found

    replace()函数

    将字符串中指定的字符串替换为新的字符串,可指定最多替换次数

    str1 = 'one two three'
    print(str1.replace('two', 'abc'))
    str2 = 'one onetwo onesss one one'
    print(str2.replace('one', 'BBB', 3))
    

    运行结果如下:

    one abc three
    BBB BBBtwo BBBsss one one

    max()、min() 函数

    返回最大值,最小值,可对字符串用,可对列表用

    l1 = [1, 3, 4, 2, 1, 6, 4]
    l2 = '1342164'
    print(max(l1))
    print(max(l2))
    print(min(l1))
    print(min(l2))
    

    运行结果如下:

    6
    6
    1
    1

    split()函数

    用指定字符分割字符串,返回列表

    s = 'aaa,bbb,ccc,ddd'
    l = s.split(',')
    for i in l:
        print(i)
    

    运行结果如下:

    aaa
    bbb
    ccc
    ddd

    结语

    以上是比较常用的,如果遗漏或错误,还请指出。
    最后,希望本文能给您带来帮助。

    相关文章

      网友评论

          本文标题:Python基础-字符串(String)

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