基本数据类型之字符串类型

续上:数字类型

继下:列表类型

二、字符串类型

    ======================基本使用====================

1、用途:

记录描述性质的状态

2、定义方式:

在单引号、双引号、三引号内包含一串字符串
数据类型转换:所有类型都可以被str转成字符串类型
       res = str([1,2,3])
       print(res,type(res)) #结果:1, 2, 3] <class 'str'>

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


优先掌握的操作:(******)

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

            msg = 'hello'
            print(msg[0],type(msg[0])) #结果:h <class 'str'>
            print(msg[-1]) #结果:o
            print(msg[-2]) #结果:l
            msg[0] = 'H' #提示报错,表示字符串只能取不能写入

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

            # str [0:3:1]  0,是开始位置;3,是终止位置;1,是迈的步子为1
            #示例一:
            msg = 'hello world'
            res = msg[0:3:1]   #0 1 2
            print(res)   #结果:hel
            print(msg) #结果:hello world
            #示例二:
            res = msg[:]
            reg = msg[::2] #0 2 4 6 8 10
            print(reg) #结果:hlowrd
            print(res) #结果:hello world
            #示例三:
            msg = 'hello world'
            res = msg[-1:-12:-1]
            print(res) #结果:dlrow olleh
            res = msg[-1::-1]
            print(res) #结果:dlrow olleh
            res = msg[::-1]
            print(res) #结果:dlrow olleh

3.3、长度 len

            msg = 'hello world'
            print(len(msg)) #结果:11

3.4、成员运算 in 和not in


in 判断一个人字符串是否存在于大字符串中
           msg = 'kevin is dsb'
           print('kevin' in msg) #结果:True
           print('dsb' in msg) #结果:True
           print('aaa'not in msg) #结果:True
           print(not 'aaa' in msg) #结果:True

3.5、移除空白 strip、lstrip、rstrip


用来去除字符串两边的字符,不指定默认去除的空格
            #strip使用方法:str.strip('需要移除的字符') 
            #示例一:            
            msg = '****@#$**hello****$%^**** '
            print(msg.strip('*@#$%^ '))  #结果:hello
            #示例二:
            name = input('请输入用户名:').strip()
            pwd = input('请输入密码:').strip()
            if name == 'Tyler' and pwd == '123':
                print("登录成功了!")
            else :
                print('输错了!')
            #strip 移除两边
            print('***********Tyler***********'.strip('*')) #结果:Tyler
            #lstrip 移除左边
            print('***********Tyler***********'.lstrip('*')) #结果:Tyler***********
            #rtrip 移除右边
            print('***********Tyler***********'.rstrip('*')) #结果:'***********Tyler

3.6、切分 split


针对有规律的字符串,按照某种分割符切成列表
            #split 用法:str.split('用于切分的符号',需要切分的次数)
            #示例一:
            info = 'Tyler:18:male'
            res = info.split(':')
            print(res,type(res)) #结果:['Tyler',’18‘,’male‘] <class 'list'>
            print(res[0],res[1]) #结果:Tyler 18
            #示例二:
            cmd = 'get name net'
            print(cmd.split(' ',1),) #结果:['get','name net']

3.7、拼接 join


用':'号作连接符号将纯字符串的列表拼接成一个字符串
            #用法:'连接符'.join(字符串)
            reg = ['1','2','3']
            l = ':'.join(reg)
            print(l) #结果为:1:2:3

3.8、替换 replace 把旧字符串替换成新字符串

            #  方法:str.replace('旧','需要替换成新的',替换几个)
            msg = 'Tyler is good'
            res = msg.replace('is','my',1)
            print(res) #结果:Tyler my good

3.9、小写 lower, 大写 upper

  lower 把所有的字母小写,upper 把所有字母大写
            print('Trler'.lower()) #结果:trler
            print('Trler'.upper()) #结果:TRLER

3.10、判断前缀开始 startswith、判断后缀结束 endswith


            msg = 'alex is dsb'
            print(msg.startswith('alex')) #结果:True
            print(msg.endswith('b')) #结果:True

3.11、format的三种玩法


  # %s的使用
            res = 'my name is %s my age is %s'%('Tyler',18)
            print(res) #结果:my name is Tyler my age is 18
            #第一种:
            res = 'my name is {name} my age is {age}'.format(name = 'Tyler',age = 18)
            print(res) #结果:my name is Tyler my age is 18
            #第二种:
            res = 'my name is {} my age is {}'.format('Tyler',18)
            print(res) #结果:my name is Tyler my age is 18
            #第三种:
            res = 'my name is {0} my age is {1}{1}{1}'.format('Tyler',18)
            print(res) #结果:my name is Tyler my age is 181818

3.12、循环

               for item in 'hello':
               print(item)  '''结果:h
                                    e
                                    l
                                    l
                                    o'''

3.13、判断字符是否纯数字 isdigit


如果字符串是由纯数字组成,则返回True
           print('123123'.isdigit()) #结果:True

3.14、is其他


==============该类型总结===============
存一个值
有序
不可变:
======================================

posted @ 2019-03-22 22:15  代码创造一切  阅读(519)  评论(0编辑  收藏  举报