1、关于print(string)
help(print)会显示这个函数的具体信息:
也就是说,他会在输出给定的string之后,在之后追加一个"\n"输出,如果我们的string之中已经有了回车换行,就会输出2个回车换行,以至于出现一个空行。
解决方法1:
print("string",end="\n")可以组织自动追加"\n"
解决方法2:
使用strip()内建函数
2、关于strip()内建函数
string.strip()默认去掉string左右两边的空格、\n、\r等字符
问题:想要输出类似Python脚本这样的依靠缩进的代码文件的时候,如果没有了左边的空格字符,整个格式就乱了
替代方法:
string.lstrip() #删除string左边的空格等字符
string.rstrip() #删除string右边的空格等字符
strip()删除指定字符:
只是删除右边的回车,不删除空格:stirng.rstrip("\n")
如果以“#”开头,删除#,否则不处理:string.lstrip("#")
3、关于replace()函数---替换
语法:string.replace(old,new)
用途:把指定字符替换为另外的字符,方便处理。
缺点:不支持正则表达式
用途:很实用,如统计文件的单词的个数(把特殊字符替换为空格,然后压缩re空格,然后计数)。
4、re.sub()函数---压缩
语法:import re;re.sub(正则表达式,替换为,要处理的string对象)
举个栗子:
5、按照空格拆分&计数
经过核对发现,多了1个!明明只有10个单词。原来是语句末尾最后一个“?”的缘故,把“?”替换为了“ ”空格,之后又按照空格拆分,最后一个就是空格,空格之后就没有什么了,所以多拆出来一个""单词。
6、字符串的比较:
Python3以前比较用的是cmp函数,但是我装的是Python3,没有cmp函数,取而代之的是oprater模块下面的这些函数:
这几个函数就是用来替换之前的cmp的,之前使用cmp的同胞们,咱们以后就换上面这些函数咯。
先简单说下这几个函数的意思吧。
lt(a, b) 相当于 a < b
le(a,b) 相当于 a <= b
eq(a,b) 相当于 a == b
ne(a,b) 相当于 a != b
gt(a,b) 相当于 a > b
函数的返回值不是布尔哦。这点需要注意,还是跟cmp一样返回的是数值哦。