zoukankan      html  css  js  c++  java
  • 基本数据类型之字符串类型

    续上:数字类型

    继下:列表类型

    二、字符串类型

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

    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其他


    ==============该类型总结===============
    存一个值
    有序
    不可变:
    ======================================
    
    
  • 相关阅读:
    用VSTS进行网站压力测试
    紧急求助!powerdesigner 12的问题!
    决定你是富人还是穷人的12法则(转)
    LINQ to SQL公共基类
    Web.config详解(转)
    向iframe中的页面传递参数
    [转]mysql 乱码问题解决终结
    [转]mysql多次调用存储过程的问题
    未能加载类型“System.Web.Mvc.ViewPage<String>”
    javascript之典型高阶函数
  • 原文地址:https://www.cnblogs.com/tyler-bog/p/10581059.html
Copyright © 2011-2022 走看看