• 字符串类型的补充


    ======================================基本使用======================================
    1、用途:记录描述性质的特征,比如名字地址性别
    2、定义方式:在单引号双引号三引号内包含的一串字符
    
    
    name = 'msj'
    #本质上name = str('msj')
    
    

    3、字符串可以将任意数据类型转化为字符串类型

    1 s1 = 12
    2 s2 = [1,2,'a']
    3 s3 = {'name':'egon','age':18}
    4 s1 = str(s1)
    5 s2 = str(s2)
    6 s3 = str(s3)
    7 print(type(s1),type(s2),type(s3))
    8 #<class 'str'> <class 'str'> <class 'str'>
    View Code

    4、用法:

    =====================优先掌握的操作===========================

    索引取值:

    msg = 'hello world'
    # print(msg[1])#取第二个字符
    #反向取值
    print(msg[-1])#取最后一个值
    
    #e
    #d

    切片:

    msg = 'hello world'
    #正向切片
    print(msg[0:3])#顾头不顾尾
    #默认步长为1,第三位参数为步长
    print(msg[0:5:2])
    #反向切片,注意点,注意取值的大小顺序,或是步长的设定
    print(msg[-1:-5:-1])#反向步长,反向取值
    print(msg[-5:-1:1])#正步向
    
    #hel
    #hlo
    #dlro
    #worl

    切边的扩展内容:

    倒叙取值:

    msg='hello world'
    print(msg[-1::-1]) #掌握
    
    #dlrow olleh

    3、测定字符串字符的个数len()

    msg = 'hello world 你好世界'
    print(len(msg))
    
    #16 len方法计算的是字符串中所有的字符个数

    4、成员运算符 in 或 not in

    msg = 'hello world'
    print('hel' in msg)
    print('gg' not in msg)
    
    #True
    #True

    5、strip 脱离,在将字符串左右指定子字符串

    name = '   egon    '
    name = name.strip()#默认是空格剥离的内容是空格
    print(name)
    #egon

    现实strip应用场景

    pwd=input('>>: ').strip() #pwd='123'
    
    if pwd == '123':
        print('密码输入正确')
    
    #可以保障用户不会因为无意识键入的空格而妨碍正常登陆。

    strip先从左到右检索符合条件的内容并删除,直到遇到不符合条件的字符结束,在从右向左符合条件的内容并删除,返回输出内容。

    msg = '****|@**12*3***@***'
    print(msg.strip('*|'))
    #@**12*3***@

    6、strip依照一定规律将字符串分隔为列表

    msg='egon:123:male:admin'
    print(msg.split(':'))
    #['egon', '123', 'male', 'admin']

    strip还可以限定参数,限制划分的次数

    msg='egon:123:male:admin'
    print(msg.split(':',1))
    #['egon', '123:male:admin']

    7、循环取值

    msg = 'hello'
    for item in msg:
        print(item)
    #h
    #e
    #l
    #l
    #o
    ======================================该类型总结====================================
    存一个值
    有序
    不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
    s1='hello'
    print(id(s1))
    s1='world'
    print(id(s1))
    #37054032
    #37425872
    
    
    =========================需要掌握的操作(****)====================================
    1、strip,lstrip,rstrip
    print('****egon***'.strip('*'))#双剥离
    print('****egon***'.lstrip('*'))#左剥离
    print('****egon***'.rstrip('*'))#右剥离
    
    #egon
    #egon***
    #****egon
    2、lower,upper
    print('AAAbbbb'.lower())#将字符串的字符全部转换为小写
    print('AAAbbbb'.upper())#将字符串的字符全部转换为大写
    
    #aaabbbb
    #AAABBBB

    3、startswith,endswith

    msg = 'hello world'
    print(msg.startswith('hel'))#以什么为开头
    print(msg.endswith('ld'))#以什么为结尾
    print(msg.startswith('o',4,10))#第二参数检索的起始位置,第三参数为结束位置
    
    #True
    #True
    #True

    4、format 格式化

    跟%s 占位符比较format更加灵活

    print('my name is %s my age is %s' %('msj',18)) #严格限制%s 与%()要一一配对,而且保证位置要一一对应
    print('my name is {} my age is {}'.format('msj',18))
    print('my name is {1} my age is {0}'.format('msj',18))#可以根据索引添加
    print('my name is {0} my age is {2}'.format('msj',18,25))#不需要一一对应,可以填写多个
    print('my name is {name} my age is {age}'.format(name = 'msj',age = 25))#可以使用关键字的,方便记忆
    5、split,rsplit
    msg='a:b:c:d:e'
    print(msg.split(':',1))#做切分,第二参数是限定切分次数
    print(msg.rsplit(':',1))#右切分
    #['a', 'b:c:d:e']
    #['a:b:c:d', 'e']

    6、join 拼接

    msg='a:b:c:d:e'
    list1=msg.split(':')#依照':'分隔为列表
    msg1=':'.join(list1)#将列表以':'连接符连接为字符串
    print(msg1)
    
    #a:b:c:d:e
    7、replace
    msg = '博客的地址:aa'
    print(msg.replace('aa','www.cnblogs.com/msj513'))
    #博客的地址:www.cnblogs.com/msj513
    
    
    8、isdigit
    print('123'.isdigit()) # 只能判断纯数字的字符串
    print('12.3'.isdigit())
    
    #True
    #False

    =========================================了解的操作(**)===========================================
    1、find,rfind,index,rindex,count
    msg='hello worldaa'
    print(msg.index('wo'))
    # print(msg.index('wo',0,3))#index 找不到的内容会报错
    print(msg.find('wo',0,3))#找不到的内容 返回-1
    print(msg.find('xxxxxxx'))
    # print(msg.index('xxxxxxx'))
    print(msg.count('l'))#在字符串中出现的次数
    
    #
    6
    -1
    -1
    3
    2、center,ljust,rjust,zfill
    print('egon'.center(50,'='))#居中填充,第一参数填充的字符串,第二参数填充的字符
    print('egon'.ljust(50,'='))#左填充
    print('egon'.rjust(50,'='))#右填充
    print('egon'.zfill(50))#以0右填充
    
    #=======================egon=======================
    egon==============================================
    ==============================================egon
    0000000000000000000000000000000000000000000000egon
    3、expandtabs tab键扩展
    print('hello	world'.expandtabs(5))#参数是tab 填充的空格数
    #hello     world
    4、captalize,swapcase,title
    print('hello world'.capitalize())#将字符串的第一个字母变成大写,其他字母变小写
    print('Hello world'.swapcase())#用于对字符串的大小写字母进行转换。
    print('Hello world'.title())#返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写
    
    #Hello world
    #hELLO WORLD
    #Hello World
    5、is数字系列
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='' #中文数字
    num4='' #罗马数字

    isdigit()能检测num1,num2

    isdecimal()能检测num2

    isnumberic()num1 num2 num3 num4

    6、is其他
    print('aaasdfaA'.isalpha()) # 纯字母组成的字符串
    print('aaasdfaA123'.isalnum()) # 字母或数字组成
    print('aaasdfaA'.isalnum()) # 字母或数字组成
    print('123'.isalnum())
    
    print('    '.isspace())
    print('    12'.isspace())
    
    #True
    #True
    #True
    #True
    #True
    #False
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    赵栋 201771010137 第三周学习总结
    赵栋 201771010137 《面向对象程序设计(java)》课程进度表
    赵栋 201771010137 《面向对象程序设计(java)》第二周学习总结
    赵栋 201771010137 《面向对象程序设计(java)》
    防止电源反接的方法
    dsPIC单片机的波特率的计算
    PIC单片机编译器自带的延时程序
    python3.7 64bit安装pygame1.9.3
    dsPIC单片机的CAN引脚设置
    TJA1040
  • 原文地址:https://www.cnblogs.com/msj513/p/9664071.html
Copyright © 2020-2023  润新知