字符串:
转义字符:
转义字符 | 描述 |
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy代表的字符,例如:\o12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
字符串运算:
操作符 | 描述 | 实例 |
+ | 字符串连接 | >>>a +b'HelloPython' |
* | 重复输出字符串 | >>>a *2'HelloHello' |
[] | 通过索引获取字符串中字符 | >>>a[1]'e' |
[ : ] | 截取字符串中的一部分 | >>>a[1:4]'ell' |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | >>>"H"inaTrue |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | >>>"M"notinaTrue |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | >>>printr'\n' \n >>>printR'\n' \n |
格式化符号:
符 号 | 描述 |
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f和 %E的简写 |
%p | 用十六进制数格式化变量的地址 |
辅助格式化字符:
符号 | 功能 |
* | 定义宽度或者小数点精度 |
- | 用做左对齐 |
+ | 在正数前面显示加号( + ) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 | 显示的数字前面填充'0'而不是默认的空格 |
% | '%%'输出一个单一的'%' |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n是小数点后的位数(如果可用的话) |
字符串使用实例:
a = "123\ 2345\ qwert"; print a;
a = "hello world"; b = a[:6] + "python"; print b;
a = "1234"; a *= 2; print a; #12341234
a = "abcdefg"; print ("cd" in a); print ("dc" in a);
# r/R原始字符串 -原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第 #一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 print r"\n\r\a\b\\"
print "Here is a simple word %s and a number %d" % ("test", 123);
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;
unicodeText = u"Hello\u0020world" |
字符串相关函数:
方法 | 描述 |
string.capitalize() | 把字符串的第一个字符大写 |
string.center(width) | 返回一个原字符串居中,并使用空格填充至长度 width的新字符串 |
string.count(str, beg=0, end=len(string)) | 返回 str在 string里面出现的次数,如果 beg或者 end指定则返回指定范围内 str出现的次数 |
string.decode(encoding='UTF-8', errors='strict') | 以 encoding指定的编码格式解码 string,如果出错默认报一个 ValueError的 异常,除非 errors指定的是 'ignore'或者'replace' |
string.encode(encoding='UTF-8', errors='strict') | 以 encoding指定的编码格式编码 string,如果出错默认报一个ValueError的异常,除非 errors 指定的是'ignore'或者'replace' |
string.endswith(obj, beg=0, end=len(string)) | 检查字符串是否以 obj结束,如果beg或者 end指定则检查指定的范围内是否以 obj结束,如果是,返回 True,否则返回 False. |
string.expandtabs(tabsize=8) | 把字符串 string中的 tab符号转为空格,tab符号默认的空格数是 8。 |
string.find(str, beg=0, end=len(string)) | 检测 str是否包含在 string中,如果 beg和 end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 |
string.index(str, beg=0, end=len(string)) | 跟find()方法一样,只不过如果str不在 string中会报一个异常. |
string.isalnum() | 如果 string至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False |
string.isalpha() | 如果 string至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False |
string.isdecimal() | 如果 string只包含十进制数字则返回 True否则返回 False. |
string.isdigit() | 如果 string只包含数字则返回 True否则返回 False. |
string.islower() | 如果 string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
string.isnumeric() | 如果 string中只包含数字字符,则返回 True,否则返回 False |
string.isspace() | 如果 string中只包含空格,则返回 True,否则返回 False. |
string.istitle() | 如果 string是标题化的(见 title())则返回 True,否则返回 False |
string.isupper() | 如果 string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
string.join(seq) | 以 string作为分隔符,将 seq中所有的元素(的字符串表示)合并为一个新的字符串 |
string.ljustr(width) | 返回一个原字符串左对齐,并使用空格填充至长度 width的新字符串 |
string.lower() | 转换 string中所有大写字符为小写. |
string.lstrip() | 截掉 string左边的空格 |
string.maketrans(intab, outtab]) | maketrans()方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 |
max(str) | 返回字符串str中最大的字母。 |
min(str) | 返回字符串str中最小的字母。 |
string.partition(str) | 有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把字符串 string分成一个 3元素的元组 (string_pre_str,str,string_post_str),如果 string中不包含str则 string_pre_str == string. |
string.replace(str1, str2, num=string.count(str1)) | 把 string中的 str1替换成 str2,如果 num指定,则替换不超过 num次. |
string.rfind(str, beg=0,end=len(string) ) | 类似于 find()函数,不过是从右边开始查找. |
string.rindex( str, beg=0,end=len(string)) | 类似于 index(),不过是从右边开始. |
string.rjust(width) | 返回一个原字符串右对齐,并使用空格填充至长度 width的新字符串 |
string.rpartition(str) | 类似于 partition()函数,不过是从右边开始查找. |
string.rstrip() | 删除 string字符串末尾的空格. |
string.split(str="", num=string.count(str)) | 以 str为分隔符切片 string,如果 num有指定值,则仅分隔 num个子字符串 |
string.splitlines([keepends]) | 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends为 False,不包含换行符,如果为 True,则保留换行符。 |
string.startswith(obj, beg=0,end=len(string)) | 检查字符串是否是以 obj开头,是则返回 True,否则返回 False。如果beg和 end 指定值,则在指定范围内检查. |
string.strip([obj]) | 在 string上执行 lstrip()和 rstrip() |
string.swapcase() | 翻转 string中的大小写 |
string.title() | 返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) |
string.translate(str, del="") | 根据 str给出的表(包含 256个字符)转换 string的字符, 要过滤掉的字符放到 del参数中 |
string.upper() | 转换 string中的小写字母为大写 |
string.zfill(width) | 返回长度为 width的字符串,原字符串 string右对齐,前面填充0 |
string.isdecimal() | isdecimal()方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。 |
函数使用实例:
# build-in methods for string a = "abcdef"; print a.capitalize();
# string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width的新字符串 a = "center"; print "===%s===" % (a.center(10));
# string.count(str, beg=0, end=len(string)) a = "abcabc123abcabc123"; print a.count("abc"); print a.count("abc", 2, len(a)-5);
# string.decode(encoding='UTF-8', errors='strict') #以 encoding指定的编码格式解码 string,如果出错默认报一个 ValueError的异常,除非 errors指定的是 'ignore'或者'replace' # string.encode(encoding='UTF-8', errors='strict') #以 encoding指定的编码格式编码 string,如果出错默认报一个ValueError的异常,除非 errors指定的是'ignore'或者'replace'
# string.endswith(obj, beg=0, end=len(string)) a = "Hello world"; print a.endswith("rld");
# string.expandtabs(tabsize=8) 把字符串 string中的 tab符号转为空格,默认的空格数 tabsize是 8. a = "Hello\t\tworld"; print a.expandtabs();
# string.find(str, beg=0, end=len(string)) 检测 str是否包含在 string中,如果 beg和 end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 a = "abcdefg"; index = a.find("cde"); print index; print a.find("hig");
# string.index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在 string中会报一个异常. a = "abcdefg"; index = a.index("cde"); print index; try: print a.index("hig"); except: print "Not found";
# string.isalnum() 如果 string至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False text = "abcd1234"; print text.isalnum(); text = "abcd1234!"; print text.isalnum();
# string.isalpha() 如果 string至少有一个字符并且所有字符都是字母则返回 True,否则返回 False text = "abcd1234"; print text.isalpha(); text = "abcd1234!"; print text.isalpha(); text = "abcd"; print text.isalpha();
# string.isdigit() 如果 string只包含数字则返回 True否则返回 False. text = "1234"; print text.isdigit(); text = "abcd1234"; print text.isdigit();
# string.islower() 如果 string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False text = "Abc"; print text.islower();
# string.isspace() 如果 string中只包含空格,则返回 True,否则返回 False. text = " "; print text.isspace();
# string.istitle() 如果 string是标题化的(见 title())则返回 True,否则返回 False text = "This is a title"; print text.title();
# string.isupper() 如果 string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
# string.join(seq) Merges (concatenates)以 string作为分隔符,将 seq中所有的元素(的字符串表示)合并为一个新的字符串 list1 = ["a", "b", "c"]; print "#".join(list1);
# string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width的新字符串 s = "abcde"; print s.ljust(8) + "11111";
# string.lower() 转换 string中所有大写字符为小写.
# string.lstrip() 截掉 string左边的空格 a = " abc"; print a.lstrip();
# max(str) 返回字符串 str中最大的字母。 a = "abcdefABCDEF"; print max(a);
# min(str) 返回字符串 str中最小的字母。 print min(a);
# string.partition(str) 有点像 find()和 split()的结合体,从 str出现的第一个位置起,把字符串 string分成一个 3元素的元组 (string_pre_str,str,string_post_str),如果 string中不包含str则 string_pre_str == string. a = "123abc456"; print a.partition("abc"); print a.partition("def");
# string.replace(str1, str2, num=string.count(str1)) 把 string中的 str1替换成 str2,如果 num指定,则替换不超过 num次. a = "1abc#2abc#3abc"; print a.replace("abc", "def", 2);
# string.rfind(str, beg=0,end=len(string) ) 类似于 find()函数,不过是从右边开始查找. print a.rfind("abc");
# string.rindex( str, beg=0,end=len(string)) 类似于 index(),不过是从右边开始. print a.rindex("abc");
# string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width的新字符串 print "abc".rjust(8);
# string.rpartition(str) 类似于 partition()函数,不过是从右边开始查找.
# string.rstrip() 删除 string字符串末尾的空格. print "abcd ".rstrip() + "####";
# string.split(str="", num=string.count(str)) 以 str为分隔符切片 string,如果 num有指定值,则仅分隔 num个子字符串 a = "a#b#c#d"; print a.split("#");
# string.splitlines(num=string.count('\n')) 按照行分隔,返回一个包含各行作为元素的列表,如果 num指定则仅切片 num个行. a = """line1 line2 line3"""; print a.splitlines();
# string.startswith(obj, beg=0,end=len(string)) 检查字符串是否是以 obj开头,是则返回 True,否则返回 False。如果beg和 end指定值,则在指定范围内检查. a = "Hello world"; print a.startswith("Hello");
# string.strip([obj]) 在 string上执行 lstrip()和 rstrip() a = " abc "; print a.strip();
# string.swapcase() 翻转 string中的大小写 a = "aBc"; print a.swapcase(); print a.swapcase().swapcase();
# string.title() 返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
# string.translate(str, del="") 根据 str给出的表(包含 256个字符)转换 string的字符,要过滤掉的字符放到 del参数中
# string.upper() 转换 string中的小写字母为大写 print "abc".upper();
# string.zfill(width) 返回长度为 width的字符串,原字符串 string右对齐,前面填充0 a = "123"; print a.zfill(8); |