'''
字符串是Python中最常见的类型。可以通过引号见包含字符的方式创建。
Python里面单引号和双引号的作用是相同的。
字符串是不可变类型,就是说改变一个字符串的元素需要新建一个新的字符串。
字符串是由独立的字符组成,并且这些字符可以通过切片操作顺序地访问。
'''
class StringClass(object):
'''
创建一个字符串就像使用一个标量一样简单。
也可以使用str工厂函数来创建一个字符串并把它赋值给一个变量。
'''
aString='signal quote'
anotherString="double quote"
StringByStr=str(range(len(aString)))
def ouput(self):
print '''aString:%s
anotherString:%s
StringByStr:%s''' %(self.aString,self.anotherString,self.StringByStr)
def getStringValue(self):
'''
Python里面没有字符这个类型,而是用长度为1的字符串来表示字符这个概念。
用方括号加一个或多于一个索引的方式来获得子串。
'''
char=self.aString[2]
print "aString的第三个字符是:",char
subString=self.anotherString[0:5]
print "anotherString第一个到第六个字符间的子串:",subString
evenSubString=self.anotherString[1::2]
print "anotherString的偶数位字符串是:",evenSubString
def changeString(self):
'''
给变量赋值的方式更新一个已有的字符串。
字符串类型是不可变的,要改变一个字符串就必须通过创建一个新串的方式来实现。
不能只改变字符串中的一个字符或者一个子串。
但是允许拼凑一个旧串的各个部分来得到一个新串。
'''
print self.aString,"aString的id:",id(self.aString),
self.aString+=",python"
print self.aString, "aString的id:",id(self.aString)
def delString(self):
'''
字符串是不可变的,不能仅仅删除一个字符串的某个字符,
能清空一个空字符串,或者把不需要的部分通过切片操作组成一个新串。
'''
self.StringByStr=self.StringByStr[:3]+self.StringByStr[8:]
print self.StringByStr
self.StringByStr=''
print self.StringByStr
try:
del self.StringByStr
print self.StringByStr
except BaseException,e:
print e
def test():
StrObj=StringClass()
StrObj.ouput()
StrObj.getStringValue()
StrObj.changeString()
StrObj.delString()
if __name__=="__main__":
test()