目录[-]


1、Python 字符串判断

Python对字符串提供的方法很多,我们并不需要刻意记忆,在需要用到时知道有这个功能就可以,同时我们也不必要害怕,因为Python对字符串提供的方法越多,我们在开发时才会使用的越为灵活。
• 示例变量定义:

test_string = "hello,world!"

• 对字符串类型的判断方法

test_string.isspace()
# 如果字符串只包含空格,则返回True,否则返回False.
test_string.isalnum()
# 如果字符串是纯字符串或纯字母,则返回True,否则返回False.
test_string.isalpha()
# 如果字符串是纯字母,则返沪True,否则返回False.
test_string.isdecimal()
# 如果字符串是纯数字,则返回True,否则返回False.
test_string.isdigit()
# 如果字符串是纯数字,或者unicode数字(比如(1),或者平方符号(\\u00b2)),则返回True,否则返回False.
test_string.isnumeric()
# 如果字符串是纯数字,或者unicode数字(比如(1),或者平方符号(\\u00b2)),或者汉字数字(比如一二三四等),则返回True,否则返回False.
test_string.istitle()
# 如果字符串首个字母大写,则返回True,否则返回False.
test_string.islower()
# 如果字符串全部是小写,则返回True,否则返回False.
test_string.isupper()
# 如果字符串全部是大写,则返回True,否则返回False.

2、Python 字符串查找和替换

test_string.startswith(str)
# 检查字符串是否以 str 开头,如果是则返回True,否则返回False.
test_string.endswith(str)
# 检查字符串是否以 str 结尾,如果是则返回True,否则返回False.
test_string.find(str, start=0, end=len(test_string))
# 在test\_string中start 到end 包含的范围内,检查是否包含str,如果是则返回索引值,如果没有,则返回-1.
test_string.rfind(str, start=0, end=len(test_string))
# 类似于上述find函数,区别在于从右侧开始查询.
test_string.index(str,start=0,end=len(test_string))
# 类似于上述find函数,区别在于如果不包含str,则会报错.
test_string.rindex(str,start=0,end=len(test_string))
# 类似于上述index(),却别在于从右侧开始查找.
test_string.count("str", 0, len(test))
# 在test\_string中查找str出现的次数.起点是0,终点是len(test),起点,终点可以不设置,默认为整个字符串.

3、Python 字符串大小写转换

test_string.capitalize()
# 把字符串的第一个字母大写.
test_string.title()
# 把字符串中的每个单词第一个字母大写.
test_string.lower()
# 把字符串全部转换为小写字母.
test_string.upper()
# 把字符串全部转化为大写字母.
test_string.swapcase()
# 将字符串中的字母大小写反转.

4、Python 去除字符串中的空白字符

test_string.strip()
去除字符串左右两侧的空白字符.
test_string.lstrip()
去除字符串左两侧的空白字符.
test_string.rstrip()
去除字符串右两侧的空白字符.

5、Python 字符串拆分和连接

test_string.partition(str)
# 把test_string字符串分为三个部分,出现第一个str的前面部分,str部分,以及出现第一个str的后面部分.如果不包含str则,则返回完整字符串以及两个空字符串.返回的内容为包含3个元素的元组.
test_string.rpartition(str)
# 类似于partition函数,区别在于str从右侧开始查找执行. 返回的内容为包含3个元素的元组.
test_string.split(str,num)
# 以str 为切割符将字符串test_string进行分割,如果num有指定,则最多切割成num个子字符串,从左侧向右逐个切割.返回的值为列表.
test_string.splitlines()
# 将test_string按照行号进行分割,返回的为包含各行元素的列表.
test_string.join(seq)
# 以test_string为分隔符,将seq中的每个字母间都插入一个test_string,返回值为一个新的字符串.

6、Python 字符串对齐

test_string.encode(encoding='UTF-8',errors='strict')
# Encoding为要使用的编码,errors可设置不同错误的处理方案. 默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register\_error() 注册的任何值。返回值为编码后的字符串.
test_string.center(num,"str")
# 如果test\_string的元素个数大于num,则直接返回原字符串,如果小于num,则返回的字符串字符个数为num,将原test\_string居中,其余位置使用str补充.默认为采用空格补充.

7、Python 更多方法

test_string[0]
# 获取字符串中的第一个元素.返回t.
test_string[-2]
# 获取字符串中的倒数第二个元素.返回n.
test_string[-2:]
# 获取字符串中的倒数第二个至最后的元素.返回ng.
test_string[::3]
# 获取字符串中每隔步长为3的元素,返回tttn.
test_string.format(*args, **kwargs)
# 将字符串进行格式化.
print("{}.{}".format("hello", "world"))
# 输出:helloworld
print("{1}.{0}".format("hello", "world"))
# 输出:worldhello
print("收件人为{name},电话为{phone}".format(name= "张三", phone= "10086"))
# 输出为: 收件人为张三,电话为10086
info_dic= {"name": "张三", "phone": "10086"}
print("收件人为{name},电话为{phone}".format(**info))
# 输出为: 收件人为张三,电话为10086
info_list= ["张三", "10086"]
print("收件人为{0[0]},电话为{0[1]}".format(info_list))
# 输出为: 收件人为张三,电话为10086
test= 3.1415
print("num{:0.2f}".format(test))
# 输出为:3.14
test= 3.1415
print("num{:+0.2f}".format(test))
# 输出为:+3.14
test= 3.1415
print("{:>10}".format(test))
# 输出为:____3.1415;数字右对齐
test= 3.1415
print("{:<10}".format(test))
# 输出为:3.1415 ____;数字左对齐
test= 3.1415
print("{:^10}".format(test))
# 输出为:__3.1415 __;数字中间对齐
test= 3.1415
print("{:x^10}".format(test))
# 输出为:xx3.1415xx;可以将x用其他任意字符代替,
test= 3.1415
print("{:.1%}".format(test))
# 输出为:314.1%
print("{:#x}".format(11))
# 输出为:oxb

总结:格式化输出其实就是一个占位符。{:b} 可以直接将后面的数值转化为二进制,{:o} 可以直接将后面的数值转化为八进制, {:d} 可以直接将后面的数值转化为十进制, {:x} 可以直接将后面的数值转化为十六进制,{:#x} 是带0x标记的数值,{:#X} 是带0X标记的数值.