print("----------------------------------first one---------------------------") 



 print("我叫 %s 今年 %d 岁!" %("小明",10)) 



 para_str = """这是一个多行字符串的实例 

 多行字符串可以使用制表符 

 TAB ( \t )。 

 也可以使用换行符 [ \n ]。 

 """ 

 print (para_str) 



 errHTML = ''' 

 <HTML><HEAD><TITLE> 

 Friends CGI Demo</TITLE></HEAD> 

 <BODY><H3>ERROR</H3> 

 <B>%s</B><P> 

 <FORM><INPUT TYPE=button VALUE=Back 

 ONCLICK="window.history.back()"></FORM> 

 </BODY></HTML>  

 ''' 



 print(errHTML); 



 #Python的字符串内建函数 



 str = 'hello python' 

 sub = 'o' 

 print(str.capitalize());#将字符串的第一个字符转换为大写 



 print(str.center(20,'*'));#返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 



 #str.count(sub, start= 0,end=len(string))  

 ''' 

 sub   --搜索的子字符串 

 start --字符串开始搜索的位置,默认为第一个字符,第一个字符索引值为0 

 end   --字符串中结束搜索的位置。字符中第一个字符的索引为0,默认为字符串的最后一个位置 

 ''' 

 print('str.count(sub):',str.count(sub)) 

 sub = 'llo' 

 print("str.count('llo', 0, 10) :",str.count(sub,0,10)); 

 #返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 



 ''' 

 decode()方法以指定的编码格式解码bytes对象。默认为'utf-8'  

 语法: 

 bytes.decode(encoding="utf-8",errors="strict")  

 参数解释: 

 encoding  --要使用的编码,如"UTF-8" 

 errors 
  --设置不同错误的处理方案。默认为'strict',意为编码错误引起一个UnicodeError。其他可能 

地值有'ignore','replace','xmlcharrefreplace','backslashreplace'以及通过 

codecs.register_error()注册的任何值。 

 

 返回值为该方法返回解码后的字符串 

 ''' 



 str ="这是一个测试" 

 str_utf8 = str.encode("UTF-8") 

 str_gbk = str.encode("GBK") 



 print(str) 



 print("str_utf8:",str_utf8) 

 print("GBK 编码:",str_gbk) 



 print("UTF-8 解码:",str_utf8.decode('UTF-8','strict')) 

 print("GBK 解码:",str_gbk.decode('GBK','strict')) 



 #Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 





 #str.endswith(suffix[,start[,end]]) 

 ''' 

 endswith()方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False.可选 

参数"start"与"end"为检索字符串的开始与结束的位置 

 

 suffix -该参数可以是一个字符串或者是一个元素 

 start  -字符串中的开始位置 

 end    -字符中结束位置 



 返回值:如果字符串含有指定的后缀返回True,否则返回False 

 '''  

 str = 'Runoob example......wow!!!' 

 suffix='!!' 

 print(str.endswith(suffix)) 

 print(str.endswith(suffix,20)) 

 suffix='run' 

 print(str.endswith(suffix)); 

 print(str.endswith(suffix,0,19)) 



 ''' 

 结果: 

 True 

 True 

 False 

 False 

 ''' 



 #expandtabs(tabsize=8):把字符串中的table符号转换为空格,tab符号默认的空格数是8 



 str = 'this is\tstring example.....wow!!!' 

 print("原始字符串:" + str) 

 print("换 \\t 符号:"+str.expandtabs()) 

 print("使用16个空格替换 \\t 符号: " + str.expandtabs(16)) 



 ''' 

 原始字符串: this is     string example....wow!!! 

 替换 \t 符号: this is string example....wow!!! 

 使用16个空格替换 \t 符号: this is         string example....wow!!! 

 ''' 





 #find(str,beg=0 end = len(string)) 

 ''' 

 find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。 



 语法: 

 str.find(str, beg=0, end=len(string)) 



 str -- 指定检索的字符串 

 beg -- 开始索引,默认为0。 

 end -- 结束索引,默认为字符串的长度。 

 ''' 

 str1 = "Runoob example......wow!!!" 

 str2 = "exam" 

 print(str1.find(str2)) 

 print(str1.find(str2,5)) 

 print(str1.find(str2,10))  

 ''' 

 输出: 

 7 

 7 

 -1 

 ''' 





 #index(str, beg=0, end=len(string)) :跟find()方法一样,只不过如果str不在字符串中会报一个异常 



 #isalnum() :如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False  

 str="pythonTest2018" 

 print(str.isalnum()) 

 str="python.Test" 

 print(str.isalnum()) 



 #isdigit() 如果字符串只包含数字则返回True否则返回False 

 str="2018" 

 print(str.isdigit()) 

 str="python.Test2018" 

 print(str.isdigit()) 





 #isupper() 方法检测字符串中所有的字母是否都为大写。 

 ''' 

 issupper()方法语法: 

 str.isupper() 



 返回值: 

 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写)字符都是大写,则返回True,否则返回False  

 '''  

 str = "THIS IS STRING EXAMPLE....WOW!!!" 

 print (str.isupper()) 



 str = "THIS is string example....wow!!!" 

 print (str.isupper()) 





 #join(seq) 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 



 str1 = '-' 

 str2 = '' 

 seq = ("r","u","n","o","o","b")#字符串序列 

 print(str1.join(seq)) 

 print(str2.join(seq)) 



 ''' 

 r-u-n-o-o-b 

 runoob 

 ''' 



 #len(string) 返回字符串长度 



 #ljust(width[,fillchar])  

 #返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。 

 ''' 

 ljust() 方法返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。 

 语法: 

 str.ljust(width[, fillchar]) 

 width  
--指定字符串长度 

 fillchar 
 --填充字符,默认为空格 

 返回值:返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度 

   则返回原字符串 

 '''  

 str = 'Runoob example......wow!!!' 

 print(str.ljust(50,"*")) 

 ''' 

 输出: 

 Runoob example......wow!!!************************ 

 ''' 





 #lower() 转换字符串中所有大写字符为小写 



 #lstrip()方法用于截掉字符串左边的空格或指定字符 



 str = " 
 this is string example....wow!!! 
 "; 

 print(str); 

 print(str.lstrip()) 

 str="888888this is string example....wow!!!" 

 print(str.lstrip('8'))  

 ''' 

 输出: 

 this is string example....wow!!!      

 this is string example....wow!!!8888888 

 ''' 



 #maketrans() 

 ''' 

 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 

 两个字符串的长度必须相同,为--对应的关系 

 ''' 



 #max(str) 返回字符串str中最大的字母 

 str = 'AbcdefgZ' 

 print(max(str)); 





 #min(str) 返回字符串str中最小的字母 

 str = 'AbcdefgZ' 

 print(min(str)); 





 #replace(old,new[,max]) 把将字符串中的str1 替换成 str2,如果max指定,则替换不超过max次 

 ''' 

 参数: 

 old    --将被替换的子字符串 

 new    --新字符串,用于替换old子字符串 

 max 
    --可选字符串,替换不超过max次 

 返回值: 返回字符串中的old替换成new后生成的新字符串,如果指定第三个参数,则替换不超过max次 

 '''  

 str="hello python first" 

 print(str) 

 print(str.replace("python","world")) 



 str="this is string example....wow!!!" 

 print(str.replace("is","was",3)) 

 ''' 

 输出: 

 hello python first 

 hello world first 

 thwas was string example....wow!!! 

 ''' 



 #rfind(str,beg=0 end = len(string))返回字符串最后一次出现的位置,如果没有匹配项则返回-1 

 ''' 

 参数: 

 str  --查找的字符串 

 beg  --开始查找的位置,默认为0 

 end  --结束查找位置,默认为字符串的长度。 

 ''' 

 str1 = "this is really a string example....wow!!!" 

 str2 = "is" 

 print (str1.rfind(str2)); 



 print (str1.rfind(str2,0,10)) 

 print (str2.rfind(str2,10,0)) 



 print(str1.find(str2)) 

 print(str1.find(str2,0,10)) 

 print(str1.find(str2,10,0)) 



 ''' 

 输出: 

 5 

 5 

 -1 

 2 

 2 

 -1 

 ''' 





 #rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始 



 #rjust(width,[, fillchar])  

 #返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串 



 #strip() 删除字符串字符串末尾的空格. 



 

 #split(str="", num=string.count(str)) 

 ''' 

 split()通过指定分隔符对字符串进行切片,如果参数num有指定值,则仅分隔num个子字符串 

 split(str="", num=string.count(str)) 

 str  --分隔符,默认为所有的空字符,包括可控、换行(\n)、制表符(\t)等 

 num  --分割次数 

 返回值:返回分割后的字符串列表 

 ''' 

 str = "this is string example....wow!!!" 

 print(str.split()) 

 print(str.split('i',1)) 

 print(str.split('w')) 

 ''' 

 输出: 

 ['this', 'is', 'string', 'example....wow!!!'] 

 ['th', 's is string example....wow!!!'] 

 ['this is string example....', 'o', '!!!'] 

 ''' 





 #splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 



 #startswith() 方法用于检查字符串是否是以指定字符串开头,如果是则返回True,否则返回False。如果参数beg和end指定的值,则在指定范围内检查 



 ''' 

 语法: 

 startswith()方法语法: 

 startswith(str,beg = 0 ,end= len(string)) 

 参数: 

 str   --检测的字符串 

 strbeg --可选参数用于设置字符串检测的起始位置 

 strend --可选参数用于设置字符串检测的结束位置 

 返回值 如果检测到字符串则返回True,否则返回False 

 ''' 



 str = "this is string exmaple...wow!!!" 

 print(str.startswith('this')) 

 print(str.startswith('string',8)) 

 print(str.startswith('this',2,4)) 

 ''' 

 输出结果: 

 True 

 True 

 False 

 ''' 





 #strip([chars]) 在字符串上执行lstrip()和rstrip() 

 ''' 

 strip()方法用于移除字符串头尾指定的字符(默认为空格)。 

 ''' 

 str="**********this is string example....wow!!!****************" 

 print(str) 

 print(str.strip('*'))  



 ''' 

 输出: 

 **********this is string example....wow!!!**************** 

 this is string example....wow!!! 

 ''' 



 #swapcase() 将字符串中大写转为小写,小写转为大写 



 str = "this IS pyThon" 

 print(str.swapcase()) 

 ''' 

 THIS is PYtHON 

 ''' 



 #title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母鱼尾小写 



 str = "this is string example" 

 print(str.title()) 

 ''' 

 This Is String Example 

 ''' 





 #upper()将字符串中的小写字母转为大写 



 #zfill(width) 返回长度为width的字符串,原字符串右对齐,前面填充0 

 str = 'abdcewq' 

 print(str.zfill(7)) 

 print(str.zfill(40)) 

 ''' 

 abdcewq 

 000000000000000000000000000000000abdcewq 

 ''' 



 #isdecimal() 减产字符串是否只包含十进制字符,如果是返回true,否则返回false.