Python 字符串内建函数

1、capitalize()—将字符串的第一个字符转换为大写,其他字母变小写
语法:

str.capitalize()

实例:

str="hello fancy"
print(str.capitalize())

注意:如果首字符不是字母,首字母不会被转换成大写


2、 center(width, fillchar)—返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

语法:

str.center(width,fillchar)
width -- 字符串的总宽度
fillchar -- 填充字符

实例:

str="fancy"
print(str.center(40,'*'))

这里如果width小于字符串的宽度则会直接返回字符串
补充:
奇数个字符时优先向右边补充,偶数个字符时优先向左边补充

print("fan".center(4,"!"))
print("fanc".center(5,"!"))

3、count(str, beg= 0,end=len(string))—统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置

语法:

str.count(sub, start= 0,end=len(string))
sub -- 搜索的子字符串
start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0
end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置

实例:

str="hello fancy"
x='a'
print(str.count(x))
print(str.count(x,0,len(str)))

这里开始和结束的位置不写就默认为整个字符串


4、bytes.decode(encoding=“utf-8”, errors=“strict”)—指定的编码格式解码 bytes 对象
encode(encoding=‘UTF-8’,errors=‘strict’)—指定的编码格式编码字符串

语法:

bytes.decode(encoding="utf-8", errors="strict")
encoding -- 要使用的编码,如"UTF-8"。
errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。

实例:

str="你好世界"
str_utf=str.encode("UTF-8")
str_gbk=str.encode("GBK")
print(str)
print("UTF-8 编码:",str_utf)
print("GBK 编码:",str_gbk)
print("UTF-8 解码:",str_utf.decode('UTF-8','strict'))
print("GBk 解码:",str_gbk.decode('GBK','strict'))

这里 ‘strict’ 是默认的
拓展:
UTF-8 和 GBK 的区别:
UTF-8 是一种国际化的编码方式,包含了世界上大部分的语种文字—包含全世界所有国家需要的字符
GBK 是指"国家标准"—包含全部的中文字符

现在基本都用UTF-8


5、endswith(suffix, beg=0, end=len(string))—于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False
语法:

str.endswith(suffix[, start[, end]])
suffix -- 该参数可以是一个字符串或者是一个元素
start -- 字符串中的开始位置
end -- 字符中结束位置

实例:

str="hello fancy!"
x='!'
print(str.endswith(x)) #不写坐标就是默认整个字符串 
print(str.endswith(x,0,len(str)))
y='#'
print(str.endswith(y))
print(str.endswith(y,0,len(str)))

注意:空字符的情况。返回值通常为True


6、find(str, beg=0, end=len(string))—检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1
语法:

str.find(str, beg=0, end=len(string))
str -- 指定检索的字符串
beg -- 开始索引,默认为0
end -- 结束索引,默认为字符串的长度

实例:

str="hello fancy!"
print(str.find("fan",0,len(str)))
print(str.find("jay",0,len(str)))

7、index(str, beg=0, end=len(string))—检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常
语法:

str.index(str, beg=0, end=len(string))
str -- 指定检索的字符串
beg -- 开始索引,默认为0
end -- 结束索引,默认为字符串的长度

实例:

str="hello fancy!"
print(str.index("fan",0,len(str)))
print(str.index("jay",0,len(str)))

这里如果没有的话会报异常:

Traceback (most recent call last):
  File "D:\PycharmProjects\BasicGrammar\builtinfunctions.py", line 63, in <module>
    print(str.index("jay",0,len(str)))
ValueError: substring not found

8、isalnum()、 isalpha()—如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
语法:

str.isalnum()

实例:

str="fancy999"
print(str.isalnum())

str="www.baidu.com"
print(str.isalnum())

注意:如果字符串有汉字,返回也是true


9、isdigit()—字符串只包含数字则返回 True 否则返回 False
语法:

str.isdigit()

实例:

str = "1024";
print (str.isdigit())

str = "hello fancy!!!"
print (str.isdigit())

注意:isdigit() 方法只对正整数有效,负数及小数均返回不正确


10、isnumeric()—如果字符串中只包含数字字符,则返回 True,否则返回 False
语法:

str.isnumeric()

实例:

str = "fancy999"
print(str.isnumeric())
-->False
str = "999"
print(str.isnumeric())
-->True

猜你喜欢

转载自blog.csdn.net/fancynthia/article/details/126462913