• python自动化测试-D3-学习笔记之二(字符串方法)


    在python中,可变变量 : list 和 字典,不可变变量:元组、字符串

    li = [1,1,2,3,4,5,6,7,8,9]
    # li2 = li[:] #深拷贝 不同的内存地址
    li2 = li #浅拷贝 相同的内存
    print('这里li的内存地址',id(li))
    print('这里是li2的内存地址',id(li2))

    for i in li2: #深拷贝循环的结果是[2, 4, 6, 8],浅拷贝循环的结果是:[1, 2, 4, 6, 8]
    if i%2!=0:
    li.remove(i)
    print(li)
    #在循环list的时候不能删东西
    #字符串这些方法都不会改变原来字符串的值

    name = 'besttest'
    # new_name = name.strip() #默认是去掉两边的空格和换行符
    # new_name= name.lstrip() #默认是去掉左边的空格和换行符
    # new_name= name.rstrip()#默认是去掉右边边的空格和换行符
    # new_name = name.count('t')#查找某个字符串在字符串里面出现的次数
    # index = name.find('d')#找到这个字符串,返回它的下标,如果不存在的话,返回-1
    # index = name.index('d')#找到这个字符串,返回它的下标,如果不存在的话,报错
    # print(name.upper())#把所有字母都变成大写的
    # print(name.lower())#把所有字母都变成小写的
    file_name = 'a.xls'
    # print(file_name.endswith('.xls'))#判断一个字符串是否以xx结尾
    sql = 'select * from user; select'
    sql.startswith('select')#判断一个字符串是否以xx开头
    # f = '{name} 欢迎光临 age :{age} '
    # print(f.format(name='原宝青'))#字符串格式化

    # d = {'name':'yuanbaoqiang','age':18}
    # print(f.format_map(d))#字符串格式化,它传进去的是一个字典
    new_sql = sql.replace('select','update')#字符串替换,第一个old,new
    # print(new_sql)

    # print('122s'.isdigit())#是否是数字
    # print('&'.isalnum()) # 是否包含数字或字母
    # st = 'a b c d f g'
    # st_list = st.split()#如果什么都不写的话,是按照空格分割
    # print(st_list)

    new_name = name.capitalize()#首字母大写
    name.center(50,'*') #把字符串放中间,两边用*补齐
    # print('aaAA'.islower()) # 是否是小写字母
    # print('AAaa'.isupper()) # 是否是大写字母
    # print('sdfsdf'.isalpha()) # 是否是英文字母

    slit = ['a', 'b', 'c', 'd', 'f', 'g']
    s2='hhhhhhhhhh'
    tu = (1,2,3,4,5)
    d={'name':'nnn','age':18,'sex':1}
    res = '*'.join(d)
    print(res) 结果是:sex*name*age
    res = '*'.join(s2)
    print(res) 结果是:h*h*h*h*h*h*h*h*h*h a*b*c*d*f*g

    res = '*'.join(slit)
    print(res) 结果是:a*b*c*d*f*gres = '*'.join(tu)
    print(res)  结果是: 报错

    1、字符串截取,变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾

    例如:

    str = '0123456789′
    print str[0:3] #截取第一位到第三位的字符
    print str[:] #截取字符串的全部字符
    print str[6:] #截取第七个字符到结尾
    print str[:-3] #截取从头开始到倒数第三个字符之前
    print str[2] #截取第三个字符
    print str[-1] #截取倒数第一个字符
    print str[::-1] #创造一个与原字符串顺序相反的字符串
    print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
    print str[-3:] #截取倒数第三位到结尾
    print str[:-5:-3] #逆序截取

    2、替换字符串replace(), 变量.replace("被替换的内容","替换后的内容"[,次数]),替换次数可以为空,即表示替换所有。要注意的是使用replace替换字符串后仅为临时变量,需重新赋值才能保存

    例如:

    str = 'akakak'
    str = str.replace('k',' 8') # 将字符串里的k全部替换为8

    print(str)
    >> 'a8a8a8'  # 输出结果

    3、字符串分割:变量.split("分割标示符号"[分割次数]),分割次数表示分割最大次数,为空则分割所有,返回结果为list

    例如:

    src='niuhanyang,12345'
    new_src=src.split(',')
    print(new_src)
    print(new_src[0])
    print('1+2+3 1+2+3+4'.splitlines())#换行符分割,返回一个list

    4,拼接字符串join(),将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串

    语法:  'sep'.join(seq)

    参数说明
    sep:分隔符。可以为空
    seq:要连接的元素序列、字符串、元组、字典
    上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

    返回值:返回一个以分隔符sep连接各个元素后生成的字符串

     例如:

    print('+'.join(('hehe','haha','ee')))#以+拼接字符串
    print(''.join(('hehe','haha','ee')))#拼接字符串

     5,去掉指定字符lstrip(),rstrip(),strip(),生成一个新的字符串,参数为空时,默认为去掉空格和换行

    例如:参数为空情况

    print('lstrip:','        mysql 
    '.lstrip())#默认去掉左边的空格和换行
    print('rstrip:',' mysql '.rstrip())#默认去掉右边的空格和换行
    print('strip:',' mysql '.strip())#默认去掉两边边的空格和换行

     6,查找find()、rfind(),ps:find()与index()功能相同,只是find找不到是返回-1,而index会直接报错,影响程序执行

      语法:
      str.find(str, beg=0 end=len(string))
        str -- 此选项指定要搜索的字符串。

    beg -- 这是开始索引,默认情况下为 0。

    end -- 这是结束索引,默认情况下它等于字符串的长度
    例如:
    
    
    str1 = "this is oo is string example"
    str2 = "exam"
    print(str1.find(str2))
    print(str1.find(str2, 10))
    print(str1.find(str2, 40))
    print(str1.rfind('is'))#返回从右边开始计算字符的下标,例如is从左边开始下标是5,右边是11
    
    

    字符串和字符串操作
    上面说了存数字,那要是想存自己的名字呢,那用int类型的就不行了,不能一个人的名字叫数字吧,这样怎么办呢,就有另一种数据类型应运而生,就是字符串,它可以存任意类型的字符串,比如名字,一句话等等。

    字符串还有很多内置的方法,对字符串进行操作,常用的方法如下,下面注释带有是否的,返回的都是一个布尔值:

    
    
  • 相关阅读:
    Kafka2.0服务端写入和读取流程
    Kafka2.0服务端启动源码
    Kafka2.0消费者协调器源码
    Kafka2.0消费者客户端源码分析
    [六省联考2017]分手是祝愿 题解(期望dp)
    [信息学奥赛一本通oj1741]电子速度 题解
    [CSP-S模拟测试53]题解
    [CSP-S模拟测试52]题解
    [CSP-S模拟测试ex]题解
    [CSP-S模拟测试51]题解
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8204555.html
Copyright © 2020-2023  润新知