• (一)字符串


    七个函数

    string.join(seq):以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

    str = '*'
    seq = 'abcasdasd'
    print(str.join(seq))

    结果:a*b*c*a*s*d*a*s*d

    string.split(str="", num=string.count(str)):以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串

    str = 'b'
    a = 'abcasbasd'
    print(a.split(str))

    结果:['a', 'cas', 'asd'] ----- 返回的数组中不包含分隔符,区别于partition()

    string.find(str, beg=0, end=len(string)):检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

    str = 'b'
    a = 'abcasbasd'
    print(a.find(str))

    结果:1

    string.strip([obj]):删除 string 字符串前面和末尾的空格;当obj不为空,可以移除指定字符串,包括\t \n等

    a = '    abca sbasd   '
    print(a.strip())

    结果:abca sbasd

    string.replace(str1, str2,  num=string.count(str1)):把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次

    a = 'abcasbcasd'
    print(a.replace('ca','xxx'))

    结果:abxxxsbxxxsd

    string.upper()与string.lower()转换 string 中的小写字母为大写/大写字母为小写


    五个要点

    for循环:

    for 变量名 in 字符串

    a = 'asdas'
    for n in a:
        print(n)

    等价于while循环:

    a = 'asdas'
    n = 0
    while n < len(a):
        print(a[n])
        n += 1

    索引,下标:

    获取字符串中的某一个字符

    a = 'asdas'
    print(a[3])

    结果:a

    切片:

    语法表达式为[start_index : end_index : step],其中:

    •   start_index表示起始索引
    •   end_index表示结束索引
    •   step表示步长,步长不能为0,且默认值为1

    支持切片操作的数据类型有listtuplestring等

    a = 'asdasasda'
    print(a[1:8:3])

    结果:ssd

    len()

    获取当前字符串中由几个字符组成

    a = 'asdasasda'
    print(len(a))

    结果:9

    range()

    帮助创建连续的数字,通过设置步长来指定不连续

    for a in range(0,100,5):
        print(a)

    结果:0,5,10....95

    字符串格式化(两种方式)

    ① 百分号拼接

    print('i am %s , my age is %d'%('xulan',20))
    print('i am %s , my age is %.2f'%('xulan',20))
    print('i am %s , my age is %.2f%%'%('xulan',20))
    print('i am %(name)s , my age is %(age)d '%{'name': 'xulan','age':20})

    结果:i am xulan , my age is 20
       i am xulan , my age is 20.00
       i am xulan , my age is 20.00%
       i am xulan , my age is 20

     ②format字符串格式化

    print(('my name is {} , my age is {}').format('xulan',20))
    结果:my name is xulan , my age is 20      按顺序取值
    print(('my name is {1} , my age is {0}').format('xulan',20))
    结果:my name is 20 , my age is xulan      按下标取值
    print(('my name is {1} , my age is {0}').format(*['xulan',20]))
    结果:my name is 20 , my age is xulan      *表示参数是列表或元组,*['xulan',20]将被转变为 'xulan',20
    print(('my name is {a} , my age is {b}').format(a='xulan',b=20))
    结果:my name is xulan , my age is 20      按key取value的值
    print(('my name is {a} , my age is {b}').format(**{'a':'xulan','b':20}))
    结果:my name is xulan , my age is 20      **表示参数是字典,**{'a':'xulan','b':20}将被转变为 a='xulan',b=20
    print(('my name is {0[1]} , my age is {0[0]}').format([1,2],[11,22]))
    结果:my name is 2 , my age is 1           按下标找到对应的列表,再按列表的下标取值
    print("i am {:s}, age {:d}".format("xulan",20))
    结果:i am xulan, age 20                   :b二进制 :o八进制 :d十进制 :x16进制(小写) :X16进制(大写) :%显示百分比(默认显示小数点后六位)
    print("numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623))
    结果:numbers: 1111,17,15,f,F, 1587.623000%

    切记:

    字符串一旦创建,不可修改, 一旦修改或者拼接,都只会重新生成字符串
    即对字符串的任何操作不会改变原对象,而是重新生成了一个新的对象

  • 相关阅读:
    [九、实用进阶]24App内容文本的本地化
    真正在大厂干了几年,我学会了反内卷[转]
    【Spine】Spine使用一 简单的人物移动
    【问题】Cocos Layout自适应高度,当里面Label变化时会闪一下
    【Spine】Spine使用二 姿势、事件、边界框、皮肤、IK约束、路径约束、网格
    (1.1)网路概念基础
    prometheus多个配置文件,prometheus文件发现
    node_exporter自定义监控
    mysqld_exporter
    prometheus监控redis集群
  • 原文地址:https://www.cnblogs.com/xulan0922/p/9079170.html
Copyright © 2020-2023  润新知