python基础数据类型: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:将字符串中的制表符:\t默认转化成8个空格 s = 'str\ting' 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\t' s3 = '\njack' 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')