zoukankan      html  css  js  c++  java
  • python全栈开发-Day3 字符串

    一、按照以下几个点展开字符串的学习

     #一:基本使用

    1、 用途

    #首先字符串主要作用途径:名字,性别,国籍,地址等描述信息

    2、定义方式

      在单引号双引号三引号内,由一串字符组成

    3、常用操作+内置的方法

    #优先掌握的操作:

    #1、按索引取值(正向取+反向取) :只能取

    #2、切片(顾头不顾尾,步长)

    #3、长度len

    #4、成员运算in和not in

    #5、移除空白strip

    #6、切分split

    #7、循环


    #二:该类型总结
    1、存一个值or存多个值
    只能存一个值
    可以存多个值,值都可以是什么类型
    2、有序or无序
    3、可变or不可变
    !!!可变:值变,id不变。可变==不可hash
    !!!不可变:值变,id就变。不可变==可hash

    二、按照上面的问题开始了解字符串

    #定义:在单引号双引号三引号内,由一串字符组成
    name='qianduoduo'
    name="qianduoduo"
    name='''qianduoduo'''
    
    #优先掌握的操作:
    #1、按索引取值(正向取+反向取) :只能取
    name="qianzeliang"
    name[0]          #值为"q"
    name[-1]         #值为"g"
    
    
    #2、切片(顾头不顾尾,步长)
    name="qianzeliang"
    name[2:8]   #值为“anzeli”
    name[2:8:2]   #值为“azl”
    #3、长度len
    name="qianzeliang"
    len(name)     #值为11
    #4、成员运算in和not in
    name="qianzeliang"
    “q” in name   #True
    "q" not in name  #False
    #5、移除空白strip
    name="  qianzeliang  "
    name.strip()    #值为 qianzeliang
    #6、切分split
    name = "qian:ze:liang"
    name.split(":")      #值为["qian","ze","liang"]
    
    #7、循环
    msg='qianduoduo'
    
    i=0
    while True:
        if i < len(msg):
            print(msg[i])
            i+=1
        else:
            break
    
    
    
    #需要掌握的操作
    
    #1、strip,lstrip,rstrip
    #2、lower,upper
    #3、startswith,endswith
    #4、format的三种玩法
    #5、split,rsplit
    #6、join
    #7、replace
    #8、isdigit
    
    
    #strip
    name='*egon**'
    print(name.strip('*'))
    print(name.lstrip('*'))
    print(name.rstrip('*'))
    
    #lower,upper
    name='egon'
    print(name.lower())
    print(name.upper())
    
    #startswith,endswith
    name='alex_SB'
    print(name.endswith('SB'))
    print(name.startswith('alex'))
    
    #format的三种玩法
    res='{} {} {}'.format('egon',18,'male')
    res='{1} {0} {1}'.format('egon',18,'male')
    res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    
    #split
    name='root:x:0:0::/root:/bin/bash'
    print(name.split(':')) #默认分隔符为空格
    name='C:/a/b/c/d.txt' #只想拿到顶级目录
    print(name.split('/',1))
    
    name='a|b|c'
    print(name.rsplit('|',1)) #从右开始切分
    
    #join
    tag=' '
    print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串
    
    #replace
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1))
    
    #isdigit:可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
    age=input('>>: ')
    print(age.isdigit())
    

    三、小结

    1 、只能存一个值

    2 、有序

    3、 不可变:值变,id就变。不可变==可hash

     

     其他操作(了解即可)
    
    #1、find,rfind,index,rindex,count
    #2、center,ljust,rjust,zfill
    #3、expandtabs
    #4、captalize,swapcase,title
    #5、is数字系列
    #6、is其他
    
    
    #find,rfind,index,rindex,count
    name='egon say hello'
    print(name.find('o',1,3)) #顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
    # print(name.index('e',2,4)) #同上,但是找不到会报错
    print(name.count('e',1,3)) #顾头不顾尾,如果不指定范围则查找所有
    
    #center,ljust,rjust,zfill
    name='egon'
    print(name.center(30,'-'))
    print(name.ljust(30,'*'))
    print(name.rjust(30,'*'))
    print(name.zfill(50)) #用0填充
    
    #expandtabs
    name='egon	hello'
    print(name)
    print(name.expandtabs(1))
    
    #captalize,swapcase,title
    print(name.capitalize()) #首字母大写
    print(name.swapcase()) #大小写翻转
    msg='egon say hi'
    print(msg.title()) #每个单词的首字母大写
    
    #is数字系列
    #在python3中
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='' #中文数字
    num4='' #罗马数字
    
    #isdigt:bytes,unicode
    print(num1.isdigit()) #True
    print(num2.isdigit()) #True
    print(num3.isdigit()) #False
    print(num4.isdigit()) #False
    
    #isdecimal:uncicode
    #bytes类型无isdecimal方法
    print(num2.isdecimal()) #True
    print(num3.isdecimal()) #False
    print(num4.isdecimal()) #False
    
    #isnumberic:unicode,中文数字,罗马数字
    #bytes类型无isnumberic方法
    print(num2.isnumeric()) #True
    print(num3.isnumeric()) #True
    print(num4.isnumeric()) #True
    
    #三者不能判断浮点数
    num5='4.3'
    print(num5.isdigit())
    print(num5.isdecimal())
    print(num5.isnumeric())
    '''
    总结:
        最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
        如果要判断中文数字或罗马数字,则需要用到isnumeric
    '''
    
    #is其他
    print('===>')
    name='egon123'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    
    print(name.isidentifier())
    print(name.islower())
    print(name.isupper())
    print(name.isspace())
    print(name.istitle())
     
  • 相关阅读:
    ZooKeeper 到底解决了什么问题?
    10个 Linux 命令,让你的操作更有效率
    你的镜像真的安全吗?
    谁动了我的主机? 之活用History命令
    Linux vs Unix
    Linux应急响应入门——入侵排查
    (一)Sharding-JDBC分库分表概述
    (三)微服务的注册中心—Eureka
    (二)springcloud功能组件
    (一)微服务基础
  • 原文地址:https://www.cnblogs.com/ManyQian/p/8612308.html
Copyright © 2011-2022 走看看