var1 = 'Hello World!' var2 = "Python Programming"
		
			访问字符串的值
		
	
	#!/usr/bin/python3
var1 = 'Hello World!'
var2 = "Python Programming"
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
	var1[0]: H var2[1:5]: ytho
		
			更新字符串
		
	
	可以通过(再)分配给另一个字符串变量来“更新”现有的字符串。新的值可以相关联它之前的值或使用另一个完全不同的字符串。例如 -
#!/usr/bin/python3
var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')
	Updated String :- Hello Python
		
			转义字符
		
	
	| 
						反斜线
					 
						符号
					 | 
						十六进制
					 
						字符
					 | 描述 | 
|---|---|---|
| \a | 0x07 | 
						响铃或警报
					 | 
| \b | 0x08 | 
						Backspace键
					 | 
| \cx |  | Control-x | 
| \C-x |  | Control-x | 
| \e | 0x1b | Escape | 
| \f | 0x0c | Formfeed | 
| \M-\C-x |  | Meta-Control-x | 
| \n | 0x0a | 新行 | 
| \nnn |  | Octal notation, where n is in the range 0.7 | 
| \r | 0x0d | Carriage return | 
| \s | 0x20 | 空格 | 
| \t | 0x09 | Tab | 
| \v | 0x0b | Vertical tab | 
| \x |  | Character x | 
| \xnn |  | 十六进制表示法,其中n的范围是从 0.9, a.f, 或 A.F | 
		
			字符串特殊操作符
		
	
	| 操作符 | 描述 | 示例 | 
|---|---|---|
| + | 
						拼接 - 操作符两边值相连接
					 | a + b =' HelloPython' | 
| * | 
						重复 - 创建新的字符串,链接相同的字符串多个副本
					 | a*2 = 'HelloHello' | 
| [] | 
						切片 - 提供从给定索引对应的字符
					 | a[1] = 'e' | 
| [ : ] | 
						范围切片 - 提供从给定的范围内字符
					 | a[1:4] =' ell' | 
| in | 
						成员操作符 - 如果一个字符在给定字符串中存在,则返回true
					 | H in a = 1 | 
| not in | 
						成员操作符 - 如果一个字符在给定的字符串中不存在,则返回true
					 | M not in = 1 | 
| r/R | 原始字符串 - 禁止转义字符实际意义。 字母“r”这是引号前导。 | print r'\n' 打印 \n , print R'\n' 打印 \n | 
| % | 
						格式 - 执行字符串格式化
					 | 
						参见下一节
					 | 
		
			字符串格式化操作
		
	
	Python有一个最酷的功能是字符串格式运算符%。这个操作符对于字符串是是唯一的,并填补了 C语言中 printf()系列函数。下面是一个简单的例子-
#!/usr/bin/python3
print ("My name is %s and weight is %d kg!" % ('Zara', 21)) 
	My name is Zara and weight is 21 kg!
| 
						格式符号
					 | 
						转变
					 | 
|---|---|
| %c | 字符 | 
| %s | 
						通过str()来转换格式化字符串
					 | 
| %i | 
						有符号十进制整数
					 | 
| %d | 
						有符号十进制整数
					 | 
| %u | 
						无符号十进制整数
					 | 
| %o | 
						八进制整数
					 | 
| %x | 
						十六进制整数(小写字母)
					 | 
| %X | 
						十六进制整数(大写字母)
					 | 
| %e | 
						指数符号(小写“e”)
					 | 
| %E | 
						指数计数法(以大写“E”)
					 | 
| %f | 
						浮点实数
					 | 
| %g | 
						%f和%e的简写
					 | 
| %G | 
						%f和%E的简写
					 | 
| 符号 | 功能描述 | 
|---|---|
| * | 
						参数指定宽度或精度
					 | 
| - | 
						左对齐
					 | 
| + | 
						显示符号
					 | 
| <sp> | 
						在一个正数前留一个空格
					 | 
| # | 
						添加前导零('0')八进制或前导0x“或”0X“十六进制,取决于是否使用了'x'或'X'。
					 | 
| 0 | 
						垫留下了零(而不是空格)
					 | 
| % | 
						'%%'保留一个常量“%”
					 | 
| (var) | 
						映射变量(字典参数)
					 | 
| m.n. | 
						m是最小总宽度和n是小数点后显示数量(如果appl)
					 | 
		
			三重引号
		
	
	#!/usr/bin/python3 para_str = """this is a long string that is made up of several lines and non-printable characters such as TAB ( \t ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ \n ], or just a NEWLINE within the variable assignment will also show up. """ print (para_str)
当执行上面的代码,它产生了以下结果。注意,如何每一个特殊字符已经转换到它的打印形式,一直到最后的NEWLINE之间的字符串的结尾关闭三重引号。还要注意的是出现新行或者使用一行或末尾明确回车其换码(\ n)-
this is a long string that is made up of several lines and non-printable characters such as TAB ( ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ ], or just a NEWLINE within the variable assignment will also show up.
原始字符串不会把反斜杠作为一个特殊字符。 把一个原始字符串中的每个字符保持原来编写的方式 -
#!/usr/bin/python3
(
print ('C:\\nowhere')
	C:\nowhere
#!/usr/bin/python3 print (r'C:\\nowhere')
C:\\nowhere
		
			Unicode字符串
		
	
	在Python 3,所有的字符串都是以Unicode表示。在Python2中内部存储为8位ASCII,因此,它需要附上“u”以让明确使用的是Unicode。但在Python3 中现在不再是必要的。
		
			字符串内置的方法
		
	
	| SN | 
						方法及描述
					 | 
|---|---|
| 1 | 
						将字符串的第一个字母大写
					 | 
| 2 | 
						返回以fillchar填充的字符串以及原始字符串中心到总 width 列
					 | 
| 3 | count(str, beg= 0,end=len(string)) 
						计数str有多少次出现在在字符串中;或如果开始索引beg和结束索引 end 给出,则计算子字符串在一个字符串中出现的次数
					 | 
| 4 | decode(encoding='UTF-8',errors='strict')利用注册编解码器解码编码字符串。编码默认是系统默认字符串编码 | 
| 5 | encode(encoding='UTF-8',errors='strict')返回字符串的编码字符串版本; 在出错时,默认引发 ValueError 错误,除非用“ignore”或“replace” | 
| 6 | endswith(suffix, beg=0, end=len(string)) 确定是否字符串或字符串的子串(如果开始索引beg和结束索引end给出)以 suffix 结束; 如果是这样返回true,否则为false | 
| 7 | 扩展制表符字符串到多个空格; 默认每个制表符为8个空格,如果不提供制表符的大小 | 
| 8 | find(str, beg=0 end=len(string)) 
						确定是否在字符串或字符串找到一个子字符str(如果开始索引beg和结束索引end给出),如果找到则返回索引,否则返回-1
					 | 
| 9 | index(str, beg=0, end=len(string)) 
						同 find()方法,如果str没有找到则引发异常
					 | 
| 10 | 
						如果string至少有1个字符,所有字符是字母数字则返回true,否则返回false
					 | 
| 11 | 
						如果string至少有1个字符,所有字符是字母则返回true,否则为false
					 | 
| 12 | 
						如果字符串仅包含数字返回true,否则为false
					 | 
| 13 | 
						如果string至少有1个可转大小写字符,所有可转大小字符是小写字母则返回true,否则为false
					 | 
| 14 | 
						如果一个Unicode字符串只包含数字字符则返回true,否则为false
					 | 
| 15 | 
						如果字符串只包含空格字符则返回true,否则为false
					 | 
| 16 | 
						如果字符串是否正确“titlecased”(首字母大写)返回true,否则为false
					 | 
| 17 | 如果string至少有1个可转大小写字符,所有可转大小字符是大写字母则返回true,否则为false | 
| 18 | 
						合并(符连接)序列 seq 融入一个字符串,以及使用分隔符字符串的字符串表示。
					 | 
| 19 | 
						返回字符串的长度
					 | 
| 20 | 
						返回一个空格填充字符串与原字符串左对齐到总宽度列
					 | 
| 21 | 
						字符串中所有大写字母转换为小写
					 | 
| 22 | 
						删除字符串的所有前导空格
					 | 
| 23 | 
						返回要在转换函数使用的转换表
					 | 
| 24 | 
						从字符串str返回最大拼音/字母字符
					 | 
| 25 | 从字符串str返回最小拼音/字母字符 | 
| 26 | 
						使用 new 替换所有出现在字符串中的 old 或 如果 max 给定,替换现的 max
					 | 
| 27 | rfind(str, beg=0,end=len(string)) 
						类似于 find(),但在字符串中是向后搜索
					 | 
| 28 | rindex( str, beg=0, end=len(string)) 
						类似于 index(),但在字符串中是向后搜索
					 | 
| 29 | 
						返回一个空格填充字符串,以及原始字符串以总宽度列向右对齐
					 | 
| 30 | 
						删除字符串结尾的所有空格
					 | 
| 31 | split(str="", num=string.count(str))根据分隔符str(如果未提供则默认为空格)分裂字符串并返回子字符串列表; 如果num给定,则分割成至多num个子字符串 | 
| 32 | splitlines( num=string.count('\n')) 
						拆分所有(或num)字符串换行符,并返回每行去除换行后的列表
					 | 
| 33 | startswith(str, beg=0,end=len(string))确定字符串或字符串的子串是否以(如果开始索引beg和结束索引end给出)子字串str开头; 如果是返回true,否则为false | 
| 34 | 
						对字符串同时执行lstrip()和rstrip()
					 | 
| 35 | 
						反转在字符串中的所有字母大小写(大写转小写,小写转大写)
					 | 
| 36 | 
						返回“titlecased”字符串的版本,也就是所有的字开头大写,其余小写
					 | 
| 37 | translate(table, deletechars="") 
						根据翻译表str(256字母)转换字符串,删除那些在del字符串
					 | 
| 38 | 
						将字符串的小写字母转换为大写
					 | 
| 39 | 
						返回原字符串左边用零填充到总宽度的字符; zfill()保留给任何正负号(少一个零)
					 | 
| 40 | 
						如果一个Unicode字符串只包含小数点字符则返回 true,否则为 false
					 | 
