zoukankan      html  css  js  c++  java
  • python基础数据类型:str

    str

    字符串,用来存储少量的数据,方便更对数据进行处理加工。

    切片

    s = 'string789'
        #012345678 字符串的索引,从0开始,由左至右,字符串可以按照索引取值 
    s[0] = 's'
    s[-1] = '9'
    s[3] == s[-6] 
    ​
    ''' 按照切片取值 '''
    s = 'string789'
    s1 = s[1:5] # trin  从索引 1 开始,取到 5-1 索引位置
    s2 = s[1:]  # tring789 从索引 1 开始,取到结束
    s3 = s[:6]  # string 从索引 0 开始,取到 6-1 索引位置
    s4 = s[:6:2] # srn  从索引 0 开始,取到 6-1索引位,步长为2,隔一位取值
    s5 = s[::-1] # 987gnirts 反向取值,
    s6 = s[-1:-7:-1] # 987gni 反向取值,必须加反向步长
    s7 = s[-1:-7] # 这里会没有输出,不加反向步长,只能从左至右取值
    s8 = s[-4:]   # g789 ,
    str类方法
    s = 'he nAme is jaCkma'
    # title:创建一个新的字符串。用空格来区分单词,将每个单词的首字母变大写,其他字母变小写
    print(s.title())# He Name Is Jackma
    #casefold:返回一个新的字符串全部为小写。与lower相似,但是lower只能转换ASCII中的字母
    s = 'He nAme is jaCkma'
    print(s.casefold()) # he name is jackma
    # format_map:格式化输出
    s = 'his name:{name},age:{age}'
    ret = s.format_map({'name':'jackma','age':12})
    print(ret)  # his name:jackma,age:12
    # expandtabs:将字符串中的制表符:	默认转化成8个空格
    s = 'str	ing' 
    print(s.expandtabs)     # str     ing
    # isdicimal:检测该字符串只包含十进制的字符(0.43,三,伞,Ⅲ,这几种都不行)
    s = '234234'
    print(s.isdecimal())    # True
    s1 = '0.324'
    print(s1.isdecimal())   # False
    s2 = '四五'
    print(s2.isdecimal())   # False
    # isnumeric:检测字符串只包含十进制的字符(小数不可以,四,叁,Ⅲ可以)
    s = '1231'
    s1 = '9.23'
    s2 = '四叁Ⅲ'
    print(s.isnumeric())    # True
    print(s1.isnumeric())   # False
    print(s2.isnumeric())   # True
    # isidentifier : 判断字符串是否是python中的关键字
    s = 'continue'
    s1 = 'def'
    s2 = 'class'
    print(s.isidentifier()) # True
    print(s1.isidentifier()) # True
    print(s2.isidentifier()) # True
    # islower: 判断字符串是否全部由小写字母组成
    s = 'jackma'
    s1 = 'JackMa'
    print(s.islower())  # True
    print(s1.islower()) # False
    # isprintable:判断字符串是否是可打印的字符(含有换行符,制表符等会返回False,有空格返回True)
    s = '#'
    s1 = '$'
    s2 = 'jack	'
    s3 = '
    jack'
    s4 = 'jack马   '
    print(s.isprintable())  # True
    print(s1.isprintable()) # True
    print(s2.isprintable()) # False
    print(s3.isprintable()) # False
    print(s4.isprintable()) # True
    # capitalize:创建一个首字母大写,其余字母小写的新字符串
    s = 'he name is jackma'
    print(s.capitalize())   # He name is jackma
    # swapcase:创建一个大小写翻转的新字符串
    s = 'He Name Is Jackma'
    print(s.swapcase()) # hE nAME iS jACKMA
    # center:创建一个新字符串,字符串居中,可以设置字符串的长度,并且设置填充物
    s = 'jackma'
    print(s.center(20,'*')) # *******jackma*******
    # startswith:判断字符串是否以某些字符开头,并且可以切片,返回bool值
    s = 'jackma'
    print(s.startswith('jcak')) # True
    print(s.startswith('c',2))  # False,索引2位置,是不是‘c’
    # endswith:判断字符串某个字符或者某些字符为结尾,可以欺骗,返回bool值
    s = 'jackma'
    print(s.endswith('a'))  # True
    print(s.endswith('ma')) # True
    # isalpha:检测字符串是否全部是z字母组成,返回bool值
    s = 'jack马'
    print(s.isalpha())  # True,汉子也会被识别为字母
    # isalnum:检测字符串是否由数字或者字幕组成,返回bool值
    s = 'jack33马'
    print(s.isalnum)    # True
    # isdigit:检测字符串或者bytes类型是否只包含十进制的字符(小数,三叁Ⅲ,不可以)
    s = '123123'
    s1 = '2.3532'
    s2 = '三叁Ⅳ'
    s3 = b'0783'
    print(s.isdigit())  # True
    print(s1.isdigit()) # False
    print(s2.isdigit()) # False
    print(s3.isdigit()) # True
    # upper:创建一个全部大写的字符串
    s = 'jackma'
    print(s.upper())    # JACKMA
    # lower:创建一个全部变小写的新的字符串
    s = 'JACKMA'
    print(s.lower())    # jackma
    # find:从字符串左边开始通过元素找索引,找到第一个元素就返回索引,找不到返回 -1
    # rfind:与find用法基本一样,从字符串的右边开始通过元素找索引
    s = 'abcde'
    print(s.find('c'))  # 2
    print(s.find('f'))  # -1
    # index:通过元素找索引,找到第一元素就返回,找不到改元素就报错
    # rindex:通过元素找索引,从右开始,找到第一元素就返回,找不到改元素就报错
    s = 'abcde'
    print(s.index('c')) # 2
    print(s.index('f')) # 报错
    # count:计算某个元素在字符串中出现的次数
    s = 'abcddeeee'
    print(s.count('e')) # 4
    # strip:创建一个新的字符串,默认去除原字符串前后两端的换行符、制表符、空格
    s = '  jack  ma  '
    print(s.strip())  #jack  ma
    #lstrip:创建一个新的字符串,默认去除原字符串前端(左边)的换行符、制表符、空格
    #rstrip:创建一个新的字符串,默认去除原字符串后端(右边)的换行符、制表符、空格
    # split:返回一个列表,默认以空格分割,可以指定字符,可以设置分割次数
    s = 'jackma,tonyma,robinli'
    print(s.split(',')) # ['jackma', 'tonyma', 'robinli']
    # join:返回一个字符串,对iterable进行遍历,通过设置的连接符,将iterable的每个元素连接形成新的字符串
    s = 'jackma'
    s1 = '*'.join(s)
    print(s1)   # j*a*c*k*m*a
    l = ['jackma','tonyma','robin']
    print(':'.join(l))#  jackma:tonyma:robin
    # replace:创建一个新的字符串,将源字符串中的内容替换成新的内容,默认全部替换
    s = 'his name is jackma,jackma is a man'
    print(s.replace('jackma','tony',1))#his name is tony,jackma is a man
    # format:格式化输出
    dic = '{}{}{}'.format('tony',22,'male')
    dic1 = '{name}{age}{sex}'.format(age=22,name='tony',sex='male')
     
     
  • 相关阅读:
    《程序员代码面试指南》第五章 字符串问题 去掉字符串中连续出现k 个0 的子串
    《程序员代码面试指南》第五章 字符串问题 字符串中数字子串的求和
    《程序员代码面试指南》第五章 字符串问题 判断两个字符串是否互为变形词
    《程序员代码面试指南》第三章 二叉树问题 统计和生成所有不同的二叉树
    《程序员代码面试指南》第三章 二叉树问题 Tarjan算法与并查集解决二叉树节点间最近公共祖先的批量查询问题
    《程序员代码面试指南》第三章 二叉树问题 在二叉树中找到两个节点的最近公共祖先
    《程序员代码面试指南》第三章 二叉树问题 找到二叉树中符合搜索二叉树条件的最大拓扑结构
    《程序员代码面试指南》第三章 二叉树问题 判断t1 树中是否有与t2 树拓扑结构完全相同的子树
    #使用Python的turtle绘制正六边形、叠边形
    #Python语言程序设计Demo
  • 原文地址:https://www.cnblogs.com/jmuchen/p/13283466.html
Copyright © 2011-2022 走看看