Python 常用的字符串,字符串格式化表达式

一:

python3中常用的字符串方法:method

方法的调用语法:

对象.方法名(方法传参)

说明:方法的调用同函数的调用一样属于表达式。

常用字符串方法

方法                                       说明

S.isdigit()                     判断字符串中的字符是否全为数字

>>> a = '12345'
>>> a.isdigit()
True
>>>

S.isalpha()                   判断字符串是否全为英文字母

>>> a = 'abcde'
>>> a.isalpha()
True
>>>

S.islower()                   判断字符串所有字符是否全为小写英文字母

>>> a = 'abcd'
>>> a.islower()
True      #都是小写,返回True
>>> a = 'abcdEF'
>>> a.islower()   #其中有大写,所以返回False
False
>>>

S.isupper()                   判断字符串所有字符是否全为大写英文字母

>>> a = 'ABCD'
>>> a.isupper()
True
>>> a = 'ABCDcd'
>>> a.isupper() 
False
>>>

S.isspace()                   判断字符串是否全为空白字符

>>> a = ' '    
>>> a.isspace()
True
>>> a = '1'    
>>> a.isspace()
False
>>>

S.center(width[,fill])       将原字符串居中,左右默认填充空格

>>> a = 'abcd'  
>>> a.center(20)    #默认两边填充空格
'        abcd        '
>>> a.center(20,'#')   #定义了填充物'#' 两边填充  #
'########abcd########'
>>> a.center(20,'+')
'++++++++abcd++++++++'
>>>

S.count(sub[, start[,end]])       获取一个字符串中子串的个数  (常用)

>>> s = 'hello world'
>>> s.count('h')    #获取字符串中h有多少个
1
>>> s.count('l')
3
>>> s.count(' ')   #获取字符串中空格有多少个
1
>>>

S.find(sub[, start[,end]])       获取字符串中子串sub的索引,失败返回-1

参数

  • sub -- 指定检索的子字符串

  • S -- 父字符串

  • start -- 可选参数,开始索引,默认为0。(可单独指定)

  • end -- 可选参数,结束索引,默认为字符串的长度。(不能单独指定)

>>> x = 'abcde'  #从0下标开始找,查找在字符串的第一个出现的子串,因为没定义重多少为开始找,默认重0开始找,返回结果为0
>>> x.find('a')
0
>>> x.find('a',1) #定义重第一位开始找a在字符串中的第几位I出现,因为a在0位,0后面没有其他的a了,所以从1位开始找的话,找不到,所以显示-1
-1
>>> x.find('a',2)
-1
>>> x = 'abcdea'  #这个字符串中最后多加了一个a,从第二开始找的话第五位有a,所以返回5,在第五位可以找到。
>>> x.find('a',2)
5
>>>

S.strip()                    返回去掉左右空白字符的字符串

>>> a = '  abc   ' 
>>> a
'  abc   '
>>> a.strip()
'abc'
>>>

S.lstrip()                   返回去掉左侧空白字符的字符串

>>> a = '  abc   '
>>> a.lstrip()
'abc   '

S.rstrip()                   返回去掉右侧空白字符的字符串

>>> a = '  abc   '
>>> a.rstrip()
'  abc'

S.upper()                  生成将英文转换为大写的字符串

>>> a = 'abcde'
>>> a.upper()  
'ABCDE'
>>>

S.lower()                   生成将英文转换为小写的字符串

>>> a = 'ABCDE'
>>> a.lower()
'abcde'
>>>

S.replace(old, new[, count])      方法用于把字符串中指定的旧子字符串替换成指定的新子字符串,如果指定 count 可选参数则替换指定的次数,默认全部替换。

参数:

  • old -- 指定的旧子字符串

  • new -- 指定的新子字符串

  • count -- 可选参数,替换的次数,默认为指定的旧子字符串在字符串中出现的总次数。

>>> a = 'abcdrf'       
>>> a.replace('a', 'h')  #替换原来字符串中的'a' 用新字符'h'代替
'hbcdrf'
>>> a = 'abcdrfaca'    
>>> a.replace('a', 'g',2)  #字符'a' 在字符串中出现多次。后面的2代表从左至右将前面两次的'a'替换成'g'
'gbcdrfgca'
>>> a.replace('a', 'g',1)
'gbcdrfaca'
>>> a.replace('a', 'g',3)
'gbcdrfgcg'
>>> a.replace('a', 'g')  #后面不加cunt参数默认全部替换。
'gbcdrfgcg'
>>>

S.startswith(prefix[, start[, end]])       返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,

参数:

  • S -- 父字符串。

  • prefix -- 指定前缀,该参数可以是一个字符串或者是一个元素。

  • start -- 可选参数,字符串中的开始位置索引,默认为0。(可单独指定)

  • end -- 可选参数,字符中结束位置索引,默认为字符串的长度。(不能单独指定)

>>> a = 'hello python'
>>> a.startswith('h')            
True
>>> a.startswith('p',6)
True
>>> a.startswith('o',4,1)
False
>>> a.startswith('o',4,4)
False

S.endswith(suffix[, start[, end]])       方法用于判断字符串是否以指定后缀结尾,如果是则返回 True,否则返回 False

参数和上面的一样

>>> a = 'hello python'
>>> a.endswith('n',11)
True
>>>

以下是不常用的   

S.title()   生成每个英文单词的首字母大写字符串

>>> a = 'hello python'   
>>> a.title()
'Hello Python'
>>>

S.isnumeric()   判断字符串是否全为数字字符

>>> a = '1234'        
>>> a.isnumeric()
True
>>


二:

字符串格式化表达式:

作用:

生成一定格式的字符串

运算符:

%

格式:

格式化字符串 % 参数值

格式化字符串 % (参数值1,参数值2,......)

格式化字符串中的占位符和类型码

占位符类型码意义

ython字符串格式化符号:

    符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %f 和 %E 的简写
      %p  用十六进制数格式化变量的地址


示例:

>>> n = "姓名:%s, 年龄: %d"
>>> name= "张三"  
>>> age = 20
>>> print(n %(name, age))
姓名:张三, 年龄: 20
>>>

占位符 % 和类型码之间的格式语法:

% [格式语法] 类型码(d,s,f等)

格式语法:

- 左对齐

+ 显示正负号

0 补零

宽度

宽度.精度

>>> a = 'abc'
>>> print("%20s" %a)   #向右对齐,默认以空格填充
                 abc
>>> 
>>> a = 'abc'
>>> print("%-10s" %a) #向左对齐,默认以空格填充
abc       
>>> 
>>> a = 3.1415926
>>> print("%.2f" %(a)) #浮点十进制形式,".2"代表取多少位小数
3.14
>>> print("%.3f" %(a)) 
3.142
>>> print("%10.3f" %(a)) #浮点十进制形式,前面补十位空格
     3.142
>>> 
.......









猜你喜欢

转载自blog.51cto.com/9693009/2106539
今日推荐