zoukankan      html  css  js  c++  java
  • python常用字符串方法

    一.常用的字符串方法

    capitalize() #将字符串首字母大写

    center(100,'*') #把字符串居中的

    count(‘zhou’)#查询次数

    endswith('.jpg ')#判断字符串是否以XXX结尾;返回类型为布尔类型,True 或者False

    startswith(‘138’)#判断字符串是否以xxx开头

    upper()#都给你变成大写

    lower()#都给你变成小写

    find(‘a’)#找字符串的下标,找不到不会报错,返回-1

    index(‘a’)#找字符串的下标,找不到会报错

    isdigit()# 判断是否为纯数字

    isspace()#判断是否全是空格

    isalnum()#只能有英文或数字

    isalpha()只能有英文、汉字

    strip()#去掉字符串两边的东西,默认是去掉两边的空格和换行符的

    lstrip()#只去掉左边的

    rstrip()#只去掉右边的

    replace(‘123’,‘456’)#替换字符串,把前面的替换成后面的,第三个参数是替换的处数,默认替换全部

    istitle()#标题,首字母为大写即标题

    zfill()# 在前面补0

          eg:name ='5'

                 print(name.zfill(2)

         结果 05

    split(‘,’)#1.分割字符串 2.把字符串变成一个list 3.默认是以空格和换行符分割的

    join()#1.把list变成字符串的 2.以某个字符串连接

     二、 切片、循环list

    1.循环list、循环字符串同

    eg:stus = ['abc','tzy','nihao']

            for stu in stus:

            print(stu)

     2.切片,list取值的一种方式

    stus = ['abc','tzy','nihao']

    stus[1:2]#顾头不顾尾,能取到‘tzy’,取不到‘nihao’

    stus[:3]#从头开始可不写

    stus[1:]#如果后面的下标不写的话,代表取到结尾

    stus[:]#开头的下标和结尾的下标都不写,代表取到整个list

    stus[-1]#-1代表最后一个元素

    eg:import string

            string.digits.split()

    结果:['0123456'] 

    nums = list(string.digits)

     print(nums)

    结果:['0','1','2','3','4','5','6','7','8','9']

     print(nums[0:11:2])#第二冒号后面值代表步长,是隔几个元素取一次

    结果:['0','2','4','6','8']

    print(nums[::-1])#步数是负数从右往左开始取值,反转

    print(nums[1:5:-1])

    print(nums[-6:-10:-1])

    #切片同样适用于字符

     3.元组

    #元组 list 但它不可变 一旦定义好就不能再变
    cities = ('beijing','shanghai')
    #元组取值,取下标
    print(cities[0])
    print(cities.count('beijing'))#数出现的次数
    print(cities.index('beijing'))#取下标
    #字符串定义好后,也不能修改,只能重定义

     eg:s='abcEFGabc'

             s = s.replace('abc','')

             print(s)

    结果:EFG

    三、list循环删元素、变量存储方式

    eg:
    a=[1,1,2,3,4,5,6,72]
    b=[1,1,2,3,4,5,6,72]
    #  0 1 2 3 4 5 6 7
    [1,2,3,4,5,6,72]
    for i in b:#i是list里的元素
    if i%2!=0:
    a.remove(i)
    print(a)

    结果:[1,2,4,6,72] 

    原因:下标错乱

    解决办法:再定义一个一模一样的list,循环一个list,删另一个list

    b=a[:]

    print(id(a)# 打印a的内存地址

    a=b=c=d=0

    e,f,g=1,2,3

    a,b=1,2 #交换a、b的值

    b,a=a,b#python中可以直接交换,自动引入了第三方变量

    四、字典

     1.非空即真,非0即真

    eg:

    a1=1

    b1=2

    print(a1==b1)

    结果:False

    a=[]

    b=''

    c=()

    d=0

    e=None

    if a: #如果a有值

    print('是真的')

    else:

    print('是假的')

    结果:是假的

    import this #python的话

     #not的意思是取反

    m=‘好’

    print(not m)

    结果:False

     2.字典 

    # k - v

    d = {}

    zjr={‘name‘’:‘zhoujirong’,

    ‘age‘:‘18’,

    ‘sex’:‘女’,

    ‘qq’:‘13242452’}

    #字典的k唯一,相同k会取最后一个

    #字典是无序的

    #增加

    zjr['身高’]=’165'

    #修改

    zjr['age']=35#有的话就改,无的话加

    zjr.setdefault('age',50)#如果key已经存在,就不会修改,若不存在,加

     #删除

    zjr.pop('qq')#指定key删掉,key不存在会报错

    del zjr['age']#del删除,key不存在会报错

    zjr.clear()#清空字典

    zjr.popitem()#随机删除一个key

     #取值

    zjr['name']#不存在会报错

    zjr.get('email','11111@qq.com')#key不存在返回None,第二个参数是若值为空取默认

     ‘age’ in data:  #判断data字典里是否有‘age’这个key

    tzy={'name1':'pig','age':20}
    zjr.update(tzy)#把一个字典加入另一个字典里面
    print(zjr.values())
    print(zjr.keys())

    for i in zjr:
    print(i)#循环打印的是字典的key
    for k,v in zjr.items():
    print(k,v) #能同时取到key和value
    print(zjr)

     高效循环字典的方式

    d = {'a':1,'b':2}
    print(d.items())
    for k,v in d.items():
    print(k,v)
    for k in d:
    print(k,d.get(k))
    #记录学生是否交作业的小程序
    #学生名字 日期 状态
    data ={
    'zjr':{
    '2018-6-3':'未交'
    },
    'pig':{
    '2018-6-7':'已交'
    }
    }


    for i in range(2):

    name =input('name:').strip()
    date = input('date:').strip()
    status = input('status'.strip())#可以不写,如果不写的话,是未交
    if name and date:# 判空,如果name和date都不为空,状态为空时默认为未交
    status = '已交' if status else '未交'#三元表达式
    if name in data:
    data[name][date]=status
    else:
    tmp = {date:status}#{'2018-2-3':'未交'},#data[name]= {date:status}先构造一个小字典
    data[name]=tmp#再给外面这个大字典加一个学生 value这个小字典
    print('添加之后的',data)

    else:
    print('姓名和日期不能为空!')

     #注意:

    status = '已交' if status else '未交' #三元表达式
    #上面的一行和下面的四行是一样的
    if status:
    status = '已交'
    else:
    status = '未交'

     五、文件读写

    1.打开文件
    #2.对他读或写
    #3.关闭文件

    #open() file()
    #1.有没有清空内容
    #2.能不能读到东西
    #3.文件不存在会不会报错
    f = open(r'C:UsersMezhouPycharmProjectsuntitledzjr','a+',encoding='utf-8') #写路径之前加r,当前目录直接写文件名
    # print(f.read())
    #文件指针
    # print('readline',f.readline())#读取文件一行的数据

    # names = ['abc','zjr','tzy','hdhsh']
    # for name in names:
    # f.write(name+' ')
    # f.writelines(names)#传一个list,然后把list里面的每一个元素写入到文件中
    f.seek(0)
    print('readlines',f.readlines())#获取文件里面的所有内容,每一行的数据放到一个list里面
    # print('read',f.read())#获取文件里的所有内容
    #f.write('789')

    # f.seek(0)#移动文件指针到最前面
    # print('read',f.read())
    # f.close()

    #只读模式 r 读写模式 r+
    #只能读 文件不存在会报错 可读可写,打开不存在的时候也会报错

    #写模式 w
    #会覆盖以前文件里的内容,不能读 文件不存在的话,会帮你创建一个
    #写读模式 w+ 会清空以前的数据
    #只要粘上r,文件不存在就会报错
    #只要粘上w,文件内容肯定会被清空

    #追加模式 a+
    #能读、能写、不会清空以前的内容,文件不存在会创建


    # print(f.read())
    # names =['a','a1','g3']
    # for i in names:
    # f.write(names+' ')

    牛牛老师的笔记:

    1、jmeter 分布式
    添加压力机
    remote_hosts:ip:1099,ip:1099
    jmeter-server
    运行的时候远程全部运行
    命令行里面运行:
    jmeter -n -t e:\test.jmx -l e:\res.jtl
    charles 抓包

    2、python
    int string list float bool

    循环
    for i in range(15):
    contiue
    print('hahaha')
    while
    重复执行循环体里面的代码。
    break #只能用在循环里面,立即结束循环
    contiue #结束本次循环,继续进行下一次循环


    list
    下标 0
    增加
    list.append('xx')
    list.insert(0,'sdfsdf')
    删除
    list.pop(0)#传入的是下标
    list.remove('test') #传入的元素
    del list[0]
    修改
    list[8]=99
    查看
    list[6]
    list.sort()
    list.revers()
    list.count('xxxx')
    list.clear()
    list.index('xxx')
    msg = '''
    %s你好,
    本次运行%s条用例,%s条通过,%s条失败。
    today。。
    '''%(name,all_count,pass_count,fail_count)

    1、今天
    1、字典、元组
    2、字符串方法
    3、文件读写


    status = '已交' if status else '未交' #三元表达式
    #上面的一行和下面的四行是一样的
    if status:
    status = '已交'
    else:
    status = '未交'

    # reg.py
    #1、注册的时候还要校验用户是否存在,账号密码存在在文件里面
    #输入为空的
    login.py
    #2、登录的时候从里面存账号密码的文件里面获取到账号密码,然后判断
    #需要校验用户是否存在
    #输入为空的

  • 相关阅读:
    log4j学习总结
    MAVEN工程生成可执行的jar包
    从svn上下载maven项目import cannot resolved
    junit4使用说明
    uml中箭头的意思
    maven命令
    mavenSvn
    ASP.NET MVC学习笔记:(二)return View(...)
    WPF学习笔记:(一)数据绑定与DataContext
    WCF学习笔记(五):svc、config和code文件之间的关系
  • 原文地址:https://www.cnblogs.com/Mezhou/p/9152861.html
Copyright © 2011-2022 走看看