字符串的数学运算及比较
运算
在Python中,能用于字符串的运算符只有加法和乘法。如果要做减法或者除法,不能用字符串。
当把一个整数和字符串相乘时,这个新字符串是最初的字符串重复了X次得到的(X是整数值)。
字符串乘法是有一些限制的。字符串乘以一个负数将得到一个空字符串。字符串乘以一个浮点数,将会报错。
比较
Python对彼此相等的字符串非常挑剔。字母大小写、空格等都有限制,需完全一样的情况才相等。
删除空格
1、字符串使用了一个strip()方法,它允许我们删除字符串开头和结尾的所有空格。
2、strip()方法不仅删除字符串周围的所有空格,它还可以删除指定的其他字符。
3、如果只想删除一个字符串的开头或者结尾,我们可以分别使用rstrip()方法或者lstrip()方法。
格式化
Python字符串格式化是提前设定一种格式,将松散的字符串套用在这种格式里。比如说制定一个模板,在模板的指定位置预留几个空位,然后根据字符串的信息在空位上填入指定的字符串。这些预留的空位,提前使用指定的特殊字符占据,而且这些指定的特殊字符被字符串替代后就不会在显现出来了。
“%”操作符格式化字符串的语法中涉及到的参数有6个,前5个都是可选参数,具体的语法格式如下:
‘%[-][+][0][m][.n]’%exp
它是使用‘%’分为前后两个部分,先来看前半部:
前半部整个是使用一对英文半角的单引号( ‘ ‘ )引在其中的;
首位的百分号‘%’是必不可少的;
第一个参数[-],用来表示左对齐,使用时在正数的前方没有符号,在负数的前方加上负号(-);
第二个参数[+],用来表示右对齐,使用时在正数的前方加上加号(+),负数的前方加上负号(-);
第三个参数[0],用来表示右对齐,使用时在正数的前方没有符号,负数的前方加上负号(-),并且用0(零)填充空白处,这个0一般情况下和后面的参数[m]一起使用;
第四个参数[m],用来表示数值所占的宽度,当上一个参数的0和m一起使用的时候,数值的宽度不够m时,其它的位置就由0占据。比如说:设定的宽度m为5,设定的数值是25,第三个参数为0,这个数值输出时就是“00025”,5个字符宽度数值25只占了2个字符宽度,其余的3个字符宽度就全部由0来填充。
第五个参数[.n],用来表示小数点后保留的位数,保留多少位,n就为几,比如小数点后保留两位,n就直接为2。
第六个参数是必选参数—格式化字符,用来指定字符类型,它的值就是下面图表中的这些:
信息获取
1、input()函数用于收集信息,它接受一个标准输入数据,返回为 string 类型。相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。
2、raw_input()用于收集任何非数字的信息。它将所有输入作为字符串看待,返回字符串类型。
区别
:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。input()从用户获得原始数据。如果他输入5,值将作为整数保存。如果使用raw_input(),值将作为字符串保存。
3、getpass()来从用户获取输入信息
4、format()函数来格式化字符串.format()函数常用于把一个字符串插入到另一个字符串。花括号{ }表示想把值插入的位置。如果想要删除字符串末尾的空白,应该使用rstrip()函数。如果使用strip()函数,那么在字符串开始和结尾位置的空白都将删除。
5、float()内建函数将把一个值转换为浮点数。
6、int()内建函数将把值转换为整数。