"""
string模块
1.大小写转换
第一种:全部大小写转化upper()与lower()
upper()负责将指定字符串变为大写,可以单独使用,也可以放到print函数中
lower()负责将指定字符串变为小写,可以单独使用,也可以放到print函数中
第二种:将字符串首部变更大小写title()与capitalize()
title()将给定的字符串中所有单词的首字母大写,其他全部小写
capitalize()将给定的字符串中首字母大写,其他小写
第三种大小写反转swapcase()
swapcase()的功能便是将原字符串中的大写改为小写,小写再改为大写
2.is判断函数
is判断函数为一种判断函数,根据规定字符串判断是否符合结果返回True或者False
isdecimal():判断给定字符串是否全为数字 isdigit()
isalpha():判断给定的字符串是否全为字母
isalnum():判断给定的字符串是否只含有数字与字母
isupper():判断给定的字符串是否全为大写
islower():判断给定的字符串是否全为小写
istitle():判断给定的字符串是否符合title()
isspace():判断给定的字符串是否为空白符(空格、换行、制表符)
isprintable():判断给定的字符串是否为可打印字符(只有空格可以,换行、制表符都
不可以)
isidentifier():判断给定的字符串是否符合命名规则(只能是字母或下划线开头、不
能包含除数字、字母和下划线以外的任意字符。)
3.字符串填充
第一是扩充的长短,也就是width,当字符串比width小时才会扩充,当字符串大于长度
时,自然是返回字符串本身。zfill(width)
第二便是扩充的位置,分三类:源字符串居左,居右和居中。
居中为center(width),这时候原来的字符串将会在中间,扩充物出现在两边。
居左为ljust(width),l为lef的缩写,源字符串在左边,填充物出现在字符串的
右边。
居右为rjust(width), r为right的缩写,源字符串在右边,填充物出现在字符串
的左边。
有一点需要注意的是,填充物fillchar是可选的,其默认为空格,可以更改为任意
字符。
zfill(width)函数只需要传入参数width即可,填充物为"0",采用居右填充的方
式,该函数会识别字符串的正负,若为"+"或者"-"则不变,越过继续填充。
4.子字符串搜索
1.子字符串位置搜索count(sub, start, end),主要对指定字符串搜索是否具有给定
的子字符串sub,若具有则返回出现次数。strat与end代表搜索边界,若无写则代表全字符串
搜索,字符串从0开始计数,1为字符串第二个
2.字符串开始与结尾判断
startswith(prefix, start, end)
endswith(suffix, start, end)
两个函数作用相同,判断函数的开始,或者末尾的字符串是否为指定字符串,与之前
的搜索相同,可以给字符串加边界,若无则为全字符串搜索两个函数都属于判断函数,返
回结果为True与False。强调:这里的不仅可以输入子字符串,还可以输入元组,若为元
组时候只要有一个成真即为True
3.字符串位置锁定find与index函数
find(sub, start, end) 返回第一个子字符串的位置信息,若无则为-1
rfind(sub, start, end)返回最右边的第一个子字符串的位置信息,若无则为-1
index(sub, start, end) 返回第一个子字符串的位置信息,若无则为报错
rindex(sub, start, end)返回最右边的第一个子字符串的位置信息,若无则报错
从传参可以看出,查询位置函数也可以限定边界,使用方法同上
5.字符串替换
replace(old, new, count),将搜索到的字符串改为新字符串作为替代函数,旧的字
符串与新的字符串是必须输入的,count是可选择输入的参数,代表更改个数。
a.replace()后a本身不会被改变,但a.replace()可给其他变量赋值
expandtabs(N)将\t 改为一定数量的空格
空格计算方式:N-(之前字符串长度)=空格数
若N-(之前字符串长度)=0 则空格数为N
若N-(之前字符串长度)<0 则空格数为1
6.字符串分割
字符串分割常用函数为partition()和rpartition()
partition(sep)对给定字符串进行切割,切割成三部分,首先搜索到字符串sep,将
sep之前的部分为一部分,sep本身作为一部分,剩下作为一部分
partition()与rpartition()之间十分相似,主要不同体现在当字符串中没有指定sep
时,partition()分为三部分,字符串、空白、空白;rpartition()分为三部分,空白、空
白、字符串
split(sep=None, maxsplit=-1)和rsplit(sep=None, maxsplit=-1),对给定字符
串进行切割,切割成两部分,首先搜索到字符串sep,将sep之前的部分为一部分,剩下作为一
部分。sep为切割,默认为空格,maxsplit为切割次数,给值-1或者none,将会从左到右每一
个sep切割一次。rsplit()相同,但是其遍历方式从右到左。最常见在输入与input连用。
7.字符串添加join()
将可迭代数据用字符串连接起来,简单理解就是字符串string、列表list、元组tuple
、字典dict、集合set。而且每个参与迭代的元素必须是字符串类型,不能包含数字或其他类型。
8.字符串修剪
strip([chars]) lstrip([chars]) rstrip([chars])
strip()是为移除指定字符串char,如果没传入参数则为移除空格、制表符、换行符
lstrip()中 l为left缩写,函数表示从左到右遍历
rstrip()中 r为right缩写,函数表示从右边开始遍历
注意移除为到非char截止
"""
print("-12345".zfill(10))
print("-12345".center(10))
print("-12345".ljust(10,'+'))
print("-12345".rjust(10, '-'))
s = "qweraqwesfgzqweop"
print(s.count("qwe"))
print(s.count("qwe", 1))
print(s.count("qwe", 1, 14))
print(s.startswith("qwe"))
print(s.startswith("qwe", 1))
print(s.endswith(("qwe", "asd")))
print(s.find("qwe"))
print(s.rfind("asd"))
print(s.index("qwe"))
print(s.rindex("qwe"))
print(s.replace("qwe", "asd"))
print(s.replace("qwe", "asd", 2))
t = "qwe\tqwer\tqasdsdf\tas"
print(t.expandtabs(4))
print(s.partition("sfg"))
print(s.partition("asqw"))
print(s.rpartition("asqw"))
print(s.split('op'))
print(s.split('qwe', -1))
"""
r = input().split()
print(r)
"""
a="qwer"
print("_".join(a))
b=("a", "b", "c", "d")
print("=".join(b))
c={"qwe", "asd", "zxc"}
print(" ".join(c))
d=" qweasdzxcrtqwe a"
print(d.strip())
print(d)
print(d.lstrip(' q'))
print(d.rstrip(' a'))