PythonStudy_day03
str.expandtabs(number)以number做分割(从前到后每number为一组,如果这一组内遇到\t这种的话就变成截止\t为一组,\t补的空格数为number - 该组前面的位数),可以做成表格
str.isalpha()str中是否只包含字母、中文
str.isdecimal()str中是否是数字
str.isdigit()str中是否是数字,支持②
str.isnumeric()str中是否是数字,支持用中文表示的数字
区别:有些特殊数字支持有些不支持
str.isprintable()str中的每个字符打印出来后是否能看到其真实的值(比如有转义字符返回false)
str.isspace()判断是否全部都是空格
str.istitle()str中的每个单词首字母是否大写
str.title()转换str的所有单词首字母变成大写
str.join(target)把target中的每个字符通过str连接起来(join内部是用循环来遍历字符串中的每个元素)
str.ljust(number,fillstr)以number作为字符串长度,将len(str) - number 剩余的字符位用fillstr填充再字符串右边
str.rjust()以number作为字符串长度,将len(str) - number 剩余的字符位用fillstr填充在字符串左边
str.zfill(number)只会用0填充,无法指定填充字符
str.islower()str中的全部字符是否是小写
str.isupper()判断str的全部字符是否大写
str.upper()str的所有字符转换成大写
str.lstrip()去除str左边空白或者转义字符
str.rstrip()去除str右边空白或者转义字符
str.strip()去除str前面和后面的全部空白或者转义字符
原则:有限最多匹配(优先最长公共子序列剔除)

最长公共子序列:

str.maketrans(previous,future)制作字符的对应关系
str.translate(relation)根据制作的字符对应关系对str中的字符进行替换
str.partition(condition)从左往右在str中寻找,遇到condition字符后将condition前后,包括condition在内的字符分割出来,组成三份子序列
str.rpartition(condition)同上,区别在于是从右往左查找分割成三份子序列
str.split("condition",num)按照condition全部分割出来,也可以根据num去选择分割的次数,弊端在于无法将作为分割条件的字符拿出来。
str.splitlines(confition)根据换行符进行分割(根据condition决定分割出来的子序列是否保留换行符本身)
str.startswith(condition)是否以condition开头
str.endswith(condition)是否以condition结尾
str.swapcase()大小写转换
str.isidentifier()str是否符合标识符命名规范
str.replace(previous,future)将previous子序列替换成future子序列
str.replace(previous,future,number)将previous子序列替换成future子序列,number代表从走往右替换前几个子序列
range(startIndex,endIndex)创建连续的数字,从startIndex开始,到endIndex - 1的位置
range(startIndex,endIndex,num)通过设置num来指定步长(创建不连续的数字)
python2里的xrange()方法跟python3的range功能一样
切片:取索引范围内的字符,范围是左闭右开 [ )。例如:[0:-Index]取0到-index - 1位置的字符

逐个打印字符串里面的每个字符

注意事项
-------------------------------------------
Python里面的强转不像C#那样是在需要强转的对象前面加"(需要转换的类型)对象",而是:"需要转换的类型(对象)"
字符串的方法必须要会的
join----split----find----strip----upper----lower----len()----for循环----索引----切片
字符串一旦创建不可修改,一旦修改或者拼接都会生成新的字符串
Python3里面len计算的是字符个数,python2里面计算的字节数
字符串为什么底层上不能修改?
因为内存的东西是连续的,要改某个东西就要将数据后移,而后移的代价很大
为什么在python3里面使用range(start,end)这个函数不会在内存里面立即创建呢?
因为是一个优化机制,减少对内存的影响,只有当使用循环时才创建(逐个创建)
可以使用for循环的对象就可以称作可迭代对象
从大到小打印

"" -->假
" "-->真

浙公网安备 33010602011771号