美文网首页
字符串-基本操作

字符串-基本操作

作者: RideoCos | 来源:发表于2018-08-22 19:38 被阅读0次
    字符串String

    字符串String是python中6中基本数据类型之一,所有用单引号 ' 或双引号 " 括起来的内容可以看出一个字符串。如"hello world",'hello world'

    字符串相关操作

    python中字符串是一个可以迭代的数据类型。所谓迭代就是可以通过循环,反复对数据进行操作。

    在python中有关字符串的操作非常多,这里先列出一部分可能用到的操作,如果后续还有用到,再继续补充。

    1.获取字符串中某个字符

    由于字符串是可以迭代的数据类型,所以字符串中每一个字符都可以对它进行操作。我们可以通过下标(索引)来访问转字符串中的某个字符。

    a = 'hello world'
    print(a[0])
    print(a[3])
    
    image.png
    注意:字符串中字符元素的下标(索引)是从0开始到字符串长度-1结束。
    2.字符串的遍历

    通过循环来依此去除字符串中的所有元素。

    a = 'abcd123'
    for item in a:
        print(item)
    
    image.png
    3.将字符串拆分同时赋值给多个变量
    a = 'abcd123'
    a1,*a2,a3 =a
    print(a1,a2,a2)
    
    image.png
    说明:*表示不定个数的元素,可以看到,字符串第一个元素a赋值给a1,最后一个字符3赋值给a3,中间的元素以列表的形式全部赋值给a2。*操作可以放在首尾和中间的任意位置。
    注意:*操作可以用在所有可以迭代的对象中。如字符串,列表,元组等
    4.获取字符串中某个范围的值

    python中可以获取任意有序且可以迭代的对象的某个范围的值,并且可以按照一定的规则来获取这个范围的值。

    a = 'abcd123'
    
    a1 = a[1:5]
    a2 = a[1:5:2]
    a3 = a[-1]
    a4 = a[::-1]
    a5 = a[6:2:-2]
    
    image.png

    注意:a1获取的是字符串下标1-5的区间,这是一个半开半闭的区间[1:5),包括下标1,不包括5,a2获取的是字符串下标1-5的区间,并且按照下标以2为步进进行获取,步进可以理解为下标以等差为2的等差数列获取,所以[1:5:2]实际获取的下标为1,3。a3获取的为字符串倒数第一个元素,-1表示倒数第一个,-2表示倒数第二个,依此类推。a4是将字符串逆序排列,前面两个冒号表示整个字符串的区间,a5表示下标6-2之间以-2为步进获取,6-2表示从后往前,2-6表示从前往后获取。

    5.字符串拼接
    a = 'abc'
    c = a+'123'
    
    image.png
    注意:python中字符串的拼接方式直接用+号将两个字符串进行连接。
    6.字符串中的一些转义字符

    当你在使用字符串时,如果想要表示这样的字符串'I told you don't do that!' ,你会发现直接这样写,程序会出错,那么怎么使它能正确运行?
    python中有多种种方式可以实现这样的操作。

    a="I told you don't do that!"
    b='I told you don\'t do that!'
    print('I told you don%st do that!'%("'"))
    c='''
    I told you don't do that
    '''
    

    第一种:双引号与单引号组合使用;第二种使用转义字符\来表示字符';第三种使用占位符。
    python中其他占位符:

    转移字符 功能
    \(在行尾时) 续行符
    \\ 反斜杠符号
    \' 单引号
    \" 双引号
    \a 响铃
    \b 退格(Backspace)
    \e 转义
    \000
    \n 换行
    \v 纵向制表符
    \t 横向制表符
    \r 回车
    \f 换页
    \oyy 八进制数,yy代表的字符,例如:\o12代表换行
    \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
    \other 其它的字符以普通格式输出

    python中的其他占为符:

    占位符 功能
    %c 格式化字符及其ASCII码
    %s 格式化字符串
    %d 格式化整数
    %u 格式化无符号整型
    %o 格式化无符号八进制数
    %x 格式化无符号十六进制数
    %X 格式化无符号十六进制数(大写)
    %f 格式化浮点数字,可指定小数点后的精度
    %e 用科学计数法格式化浮点数
    %E 作用同%e,用科学计数法格式化浮点数
    %g %f和%e的简写
    %G %f 和 %E 的简写
    %p 用十六进制数格式化变量的地址
    7.判断某个字符是否在字符串中
    a = 'abcd123'
    b = 'abc'
    c = 'cdv'
    print(b in a,c in a,b not in a,c not in a)
    
    image.png
    注意:in操作和not in操作非常有用,可以直接用来判断一个元素是否在某个容器类型中,而不需要去遍历容器判断元素是否相等。
    8.字符串的乘法操作
    a = '*'
    print(a*5)
    
    image.png
    注意:*操作的作用是将一个字符串重复多少次。
    9.字符串格式化format方法
    a='{} {}'.format('hello','world')
    b='{1} {0} {0}'.format('o','h')
    c='name ={name}, age ={age}'.format(name='RideoCos',age='22')
    dict1 = {'name':'RideoCos','age':22}
    list1 = ['RideoCos',22]
    d='name={name}, age={age}'.format(**dict1)
    e='name={0[0]}, age={0[1]}'.format(list1)
    

    format是python2.6后增强的一种字符串格式化操作,通过str.format()来实现。
    可以指定位置来进行字符串的格式化。可以指定位置或不指定,不指定则默认由参数从左至右进行格式化。
    注意:可以通过字典或列表进行格式化,需要注意的是在使用字典进行格式化时,操作语句为str.format(**dict)。使用列表时,需要使用0[index]来获取列表元素。

    image.png
    10.字符串数字格式化操作
    数字 格式 输出 描述
    3.1415926 {:.2f} 3.14 保留小数点后两位
    3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
    -1 {:+.2f} -1.00 带符号保留小数点后两位
    2.71828 {:.0f} 3 不带小数
    5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
    5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
    10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
    1000000 {:,} 1,000,000 以逗号分隔的数字格式
    0.25 {:.2%} 25.00% 百分比格式
    1000000000 {:.2e} 1.00e+09 指数记法
    13 {:10d} 13 右对齐 (默认, 宽度为10)
    13 {:<10d} 13 左对齐 (宽度为10)
    13 {:^10d} 13 中间对齐 (宽度为10)
    11 '{:b}'.format(11) 1011 二进制
    11 '{:d}'.format(11) 11 十进制
    11 '{:o}'.format(11) 13 八进制
    11 '{:x}'.format(11) b 十六进制
    11 '{:#x}'.format(11) 0xb 十六进制
    11 '{:#X}'.format(11) 0XB 进制

    使用方法:

    c ='{:b}'.format(11)
    c='{:.2f}'.format(3.111)
    c='{:.0f}'.format(3.111)
    c='{:0>2d}'.format(5)
    

    相关文章

      网友评论

          本文标题:字符串-基本操作

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