所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结:
首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类,类也是一个对象,被称为类对象。
当我们进入解释器的交互模式中输入以下代码时:
help(str)
其中,str就是创建字符串的类,然后我们就会得到一长串的结果:
首先,我们要注意一个问题,所以的方法都没有改变原字符串本身,都是返回了一个新对象,具体原理我会在讲到函数中说明,而一个新的对象没有把它赋值给一个变量的话,其引用数就为0,在python进行垃圾回收的时候,就会将其从内存中清除。
另外,如果你英文够好的话,其实使用 help() 函数就能够自行学习了,所以这里对帮助函数是一些要点进行说明:
1. <==> 表示相对于,意思这前后的方法效果是一样的
2. -> 表示函数的返回值,意思是这个方法处理以后,返回的值是什么类型,可以是字符串 string ,也可以是数字 int 等等。关于返回值的详细,会在讲函数的时候分析。
3.函数进行传值的时候,对传入的值的类型是有要求的,不然会有很多报错,但这里并没有明说一定要传什么类型的值,而已在英文说明中隐含,所以需要一定的英语阅读能力,英文不好就用经验来堆吧。
首先,我先来说说对于字符串来说,各运算符的含义:
1.+
代表字符串拼接,不多讲了
2.in
表示给定的字符串是否在原字符串里面,返回布尔值
3.==
判断两个字符串是否一样,值相等就行,返回布尔值
4.is
判断是否是统一对象,不仅值要相同,在内存中的地址也有一样,返回布尔值
5.!=
不等于,值和对象都不相等,返回布尔值
5.<,>,<=,>=
字符串的大小判断非常奇特,它是用每个字符逐一比较,比较的是字符对应的ascll编码,例如:
a = ‘a‘ #以十进制的ascll为例,其为97 b = ‘b‘ #以十进制的ascll为例,其为98 a < b
另外,其是每个字符逐一比较的,一旦某个字符比另一个大,则整个字符串都大于另一个,例如
a只有一个字符,但比较的时候,是用 a 的第一个字符 ‘z‘ 和 b的第一个字符 ‘a‘ 比较,因为‘z‘ > ‘a‘ 了,所以整个字符串都大。如果逐一比较时,两个字符相等的话,就比较下一个字符,如果比较到最后都相等,则说明两个字符串的值相等(==)。至于是否是同一对象就需要另外确定。
6.*
字符串的乘法将会返回一个多出重复原字符串的副本。
只能和数字相乘,字符串间相乘是不可以的。
也没有什么“乘法分配率”的说法,这样只是重复元祖而已。
7.%
取模运算符就是字符串格式化时使用的符号。