本文实例讲述了Python编程之string相关操作。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#coding=utf8
'''''
字符串是Python中最常见的类型。可以通过引号见包含字符的方式创建。
Python里面单引号和双引号的作用是相同的。
字符串是不可变类型,就是说改变一个字符串的元素需要新建一个新的字符串。
字符串是由独立的字符组成,并且这些字符可以通过切片操作顺序地访问。
'''
class StringClass( object ):
'''''
创建一个字符串就像使用一个标量一样简单。
也可以使用str工厂函数来创建一个字符串并把它赋值给一个变量。
'''
#使用单引号创建字符串并赋值
aString = 'signal quote'
#使用双引号创建字符串并赋值
anotherString = "double quote"
#使用工厂函数str把一个列表转换成一个字符串
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)
#错误的操作,不允许改变字符串中的一个字符或者子串
#self.aString[2]="h"
#print self.aString
#self.aString[0:2]="he"
#print self.aString
#删除字符和字符串
def delString( self ):
'''''
字符串是不可变的,不能仅仅删除一个字符串的某个字符,
能清空一个空字符串,或者把不需要的部分通过切片操作组成一个新串。
'''
self .StringByStr = self .StringByStr[: 3 ] + self .StringByStr[ 8 :]
print self .StringByStr
#通过赋一个空字符串来清空一个字符串
self .StringByStr = ''
print self .StringByStr
#通过del删除一个字符串
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()
|
运行结果:
希望本文所述对大家Python程序设计有所帮助。