str内部功能详解:
1 class str(object): 2 """ 3 str(object='') -> str 4 str(bytes_or_buffer[, encoding[, errors]]) -> str 5 6 Create a new string object from the given object. If encoding or 7 errors is specified, then the object must expose a data buffer 8 that will be decoded using the given encoding and error handler. 9 Otherwise, returns the result of object.__str__() (if defined) 10 or repr(object). 11 encoding defaults to sys.getdefaultencoding(). 12 errors defaults to 'strict'. 13 """ 14 15 def capitalize(self): # real signature unknown; restored from __doc__ 16 """ 17 S.capitalize() -> str 18 19 Return a capitalized version of S, i.e. make the first character 20 have upper case and the rest lower case. 21 """ 22 return 23 # 首字母大写 24 # >>> a = "abel" 25 # >>> b = a.capitalize() 26 # >>> b 27 # 'Abel' 28 29 def casefold(self): # real signature unknown; restored from __doc__ 30 """ 31 S.casefold() -> str 32 33 Return a version of S suitable for caseless comparisons. 34 """ 35 return "" 36 # 首字母大写变小写 37 # >>> a = "Abel" 38 # >>> b = a.casefold() 39 # >>> b 40 # 'abel' 41 42 def center(self, width, fillchar=None): # real signature unknown; restored from __doc__ 43 """ 44 S.center(width[, fillchar]) -> str 45 46 Return S centered in a string of length width. Padding is 47 done using the specified fill character (default is a space) 48 """ 49 return "" 50 # 内容居中, 总长度; fillchar:空白处填充内容,默认无 51 # >>> a 52 # 'Abel' 53 # >>> b = a.center(20, '#') 54 # >>> b 55 # '########Abel########' 56 57 def count(self, sub, start=None, end=None): # real signature unknown; restored from __doc__ 58 """ 59 S.count(sub[, start[, end]]) -> int 60 61 Return the number of non-overlapping occurrences of substring sub in 62 string S[start:end]. Optional arguments start and end are 63 interpreted as in slice notation. 64 """ 65 return 0 66 # 子序列个数 67 # >>> a = "Abelisgood" 68 # >>> b = a.count('o') 69 # >>> b 70 # 2 71 # >>> b = a.count('o', 0, 8) 72 # >>> b 73 # 1 74 def encode(self, encoding='utf-8', errors='strict'): # real signature unknown; restored from __doc__ 75 """ 76 S.encode(encoding='utf-8', errors='strict') -> bytes 77 78 Encode S using the codec registered for encoding. Default encoding 79 is 'utf-8'. errors may be given to set a different error 80 handling scheme. Default is 'strict' meaning that encoding errors raise 81 a UnicodeEncodeError. Other possible values are 'ignore', 'replace' and 82 'xmlcharrefreplace' as well as any other name registered with 83 codecs.register_error that can handle UnicodeEncodeErrors. 84 """ 85 return b"" 86 # 编码,针对unicode 87 88 def endswith(self, suffix, start=None, end=None): # real signature unknown; restored from __doc__ 89 """ 90 S.endswith(suffix[, start[, end]]) -> bool 91 92 Return True if S ends with the specified suffix, False otherwise. 93 With optional start, test S beginning at that position. 94 With optional end, stop comparing S at that position. 95 suffix can also be a tuple of strings to try. 96 """ 97 return False 98 # 判断str是否以xxx 结束 99 # >>> a 100 # 'Abelisgood' 101 # >>> b = a.endswith('d') 102 # >>> b 103 # True 104 # >>> b = a.endswith('g', 0, 7) 105 # >>> b 106 # True 107 def expandtabs(self, tabsize=8): # real signature unknown; restored from __doc__ 108 """ 109 S.expandtabs(tabsize=8) -> str 110 111 Return a copy of S where all tab characters are expanded using spaces. 112 If tabsize is not given, a tab size of 8 characters is assumed. 113 """ 114 return "" 115 # 将tab转换成空格,默认一个tab转换成8个空格 116 # >>> a = "a bel" 117 # >>> b= a.expandtabs() 118 # >>> b 119 # 'a bel'(8个空格) 120 def find(self, sub, start=None, end=None): # real signature unknown; restored from __doc__ 121 """ 122 S.find(sub[, start[, end]]) -> int 123 124 Return the lowest index in S where substring sub is found, 125 such that sub is contained within S[start:end]. Optional 126 arguments start and end are interpreted as in slice notation. 127 128 Return -1 on failure. 129 """ 130 return 0 131 # 寻找子序列位置,如果没有找到,返回-1 132 # index没有找到,直接报错 133 # >>> a = "asdfjsdakfwejfi" 134 # >>> b = a.find('f', 0, 11) 135 # >>> b 136 # 3 137 # >>> b = a.find('z') 138 # >>> b 139 # -1 140 def format(self, *args, **kwargs): # known special case of str.format 141 """ 142 S.format(*args, **kwargs) -> str 143 144 Return a formatted version of S, using substitutions from args and kwargs. 145 The substitutions are identified by braces ('{' and '}'). 146 """ 147 pass 148 # 字符串格式化,动态参数。可以拼接字符串。 149 # >>> a = "abel {0} good {1}" 150 # >>> b = a.format('is', 'man') 151 # >>> b 152 # 'abel is good man' 153 # >>> 154 def format_map(self, mapping): # real signature unknown; restored from __doc__ 155 """ 156 S.format_map(mapping) -> str 157 158 Return a formatted version of S, using substitutions from mapping. 159 The substitutions are identified by braces ('{' and '}'). 160 """ 161 return "" 162 163 def index(self, sub, start=None, end=None): # real signature unknown; restored from __doc__ 164 """ 165 S.index(sub[, start[, end]]) -> int 166 167 Like S.find() but raise ValueError when the substring is not found. 168 """ 169 return 0 170 # 返回索引位置;可先参数,start:起始位置,end:结束位置,返回一个整数类型(当字符串没有找到时,会提示报错信息) 171 # >>> a = "asdfjsdakfwejfi" 172 # >>> b = a.index('z') 173 # Traceback (most recent call last): 174 # File "<pyshell#22>", line 1, in <module> 175 # b = a.index('z') 176 # ValueError: substring not found 177 def isalnum(self): # real signature unknown; restored from __doc__ 178 """ 179 S.isalnum() -> bool 180 181 Return True if all characters in S are alphanumeric 182 and there is at least one character in S, False otherwise. 183 """ 184 return False 185 # 字符串都是字符,数字 或是字符数字组合则为True否则为False 186 # >>> a 187 # 'asdfjsdakfwejfi' 188 # >>> b = a.isalnum() 189 # >>> b 190 # True 191 192 # >>> a = ' ' 193 # >>> b = a.isalnum() 194 # >>> b 195 # False 196 def isalpha(self): # real signature unknown; restored from __doc__ 197 """ 198 S.isalpha() -> bool 199 200 Return True if all characters in S are alphabetic 201 and there is at least one character in S, False otherwise. 202 """ 203 return False 204 # 字符串中有一个为字母或所有都是字母都 True 否则为False 205 # >>> a 206 # 'abel20' 207 # >>> b = a.isalpha() 208 # >>> b 209 # False 210 211 def isdecimal(self): # real signature unknown; restored from __doc__ 212 """ 213 S.isdecimal() -> bool 214 215 Return True if there are only decimal characters in S, 216 False otherwise. 217 """ 218 return False 219 # 如果只有十进制则返回True,否则返回False 220 # >>> a = 'abel20' 221 # >>> b = a.isdecimal() 222 # >>> b 223 # False 224 225 def isdigit(self): # real signature unknown; restored from __doc__ 226 """ 227 S.isdigit() -> bool 228 229 Return True if all characters in S are digits 230 and there is at least one character in S, False otherwise. 231 """ 232 return False 233 # 元素全部为数字时返回 True否则返回 False 234 # >>> a 235 # 'abel20' 236 # >>> b = a.isdigit() 237 # >>> b 238 # False 239 240 def isidentifier(self): # real signature unknown; restored from __doc__ 241 """ 242 S.isidentifier() -> bool 243 244 Return True if S is a valid identifier according 245 to the language definition. 246 247 Use keyword.iskeyword() to test for reserved identifiers 248 such as "def" and "class". 249 """ 250 return False 251 # 判断字符串是否是合法的标识符(标识符必须合法)返回bool类型 252 # >>> a = '5' 253 # >>> b = a.isidentifier() 254 # >>> b 255 # False 256 # >>> a = 'abel342' 257 # >>> b = a.isidentifier() 258 # >>> b 259 # True 260 def islower(self): # real signature unknown; restored from __doc__ 261 """ 262 S.islower() -> bool 263 264 Return True if all cased characters in S are lowercase and there is 265 at least one cased character in S, False otherwise. 266 """ 267 return False 268 # 判断字符串中字母是否都是小写,返回bool类型 269 # >>> a 270 # 'abel342' 271 # >>> b = a.islower() 272 # >>> b 273 # True 274 275 # >>> a = 'Abel83' 276 # >>> b = a.islower() 277 # >>> b 278 # False 279 280 def isnumeric(self): # real signature unknown; restored from __doc__ 281 """ 282 S.isnumeric() -> bool 283 284 Return True if there are only numeric characters in S, 285 False otherwise. 286 """ 287 return False 288 # 判断字符串中是否都是数字,返回bool类型 289 # >>> a = 'abel349' 290 # >>> b = a.isnumeric() 291 # >>> b 292 # False 293 # >>> a = '123' 294 # >>> b = a.isnumeric() 295 # >>> b 296 # True 297 def isprintable(self): # real signature unknown; restored from __doc__ 298 """ 299 S.isprintable() -> bool 300 301 Return True if all characters in S are considered 302 printable in repr() or S is empty, False otherwise. 303 """ 304 return False 305 # 判断是不是只包含可打印字符,返回Bool值 306 # >>> a 307 # '天天向上 2016' 308 # >>> b = a.isprintable() 309 # >>> b 310 # False 311 # >>> q = 'this is test' 312 # >>> b = a.isprintable() 313 # >>> b 314 # False 315 316 def isspace(self): # real signature unknown; restored from __doc__ 317 """ 318 S.isspace() -> bool 319 320 Return True if all characters in S are whitespace 321 and there is at least one character in S, False otherwise. 322 """ 323 return False 324 # 判断是不是只包含空格字符,返回bool值 325 326 def istitle(self): # real signature unknown; restored from __doc__ 327 """ 328 S.istitle() -> bool 329 330 Return True if S is a titlecased string and there is at least one 331 character in S, i.e. upper- and titlecase characters may only 332 follow uncased characters and lowercase characters only cased ones. 333 Return False otherwise. 334 """ 335 return False 336 # 判断是不是每个词的首字母是不是大写,返回Bool值。一般标题会使用 337 338 def isupper(self): # real signature unknown; restored from __doc__ 339 """ 340 S.isupper() -> bool 341 342 Return True if all cased characters in S are uppercase and there is 343 at least one cased character in S, False otherwise. 344 """ 345 return False 346 # 判断字符串是不是都是大写,返回bool值 347 348 def join(self, iterable): # real signature unknown; restored from __doc__ 349 """ 350 S.join(iterable) -> str 351 352 Return a string which is the concatenation of the strings in the 353 iterable. The separator between elements is S. 354 """ 355 return "" 356 # 返回通过指定字符分隔的新字符串 357 # >>> a = ['a', 'b', 'c', 'f'] 358 # >>> b = "_".join(a) 359 # >>> b 360 # 'a_b_c_f' 361 362 def ljust(self, width, fillchar=None): # real signature unknown; restored from __doc__ 363 """ 364 S.ljust(width[, fillchar]) -> str 365 366 Return S left-justified in a Unicode string of length width. Padding is 367 done using the specified fill character (default is a space). 368 """ 369 return "" 370 # 左对齐,右添充,参数width 宽度(fillchar 添充字符,默认是空格) 371 372 def lower(self): # real signature unknown; restored from __doc__ 373 """ 374 S.lower() -> str 375 376 Return a copy of the string S converted to lowercase. 377 """ 378 return "" 379 # 转换为小写 380 381 def lstrip(self, chars=None): # real signature unknown; restored from __doc__ 382 """ 383 S.lstrip([chars]) -> str 384 385 Return a copy of the string S with leading whitespace removed. 386 If chars is given and not None, remove characters in chars instead. 387 """ 388 return "" 389 # 删除左边的空白或自定义的字符 390 # >>> a = " Hi, I'm Abel" 391 # >>> b = a.lstrip() 392 # >>> b 393 # "Hi, I'm Abel" 394 def maketrans(self, *args, **kwargs): # real signature unknown 395 """ 396 Return a translation table usable for str.translate(). 397 398 If there is only one argument, it must be a dictionary mapping Unicode 399 ordinals (integers) or characters to Unicode ordinals, strings or None. 400 Character keys will be then converted to ordinals. 401 If there are two arguments, they must be strings of equal length, and 402 in the resulting dictionary, each character in x will be mapped to the 403 character at the same position in y. If there is a third argument, it 404 must be a string, whose characters will be mapped to None in the result. 405 """ 406 pass 407 # str.translate()函数配合使用,替换相应的字符 408 409 def partition(self, sep): # real signature unknown; restored from __doc__ 410 """ 411 S.partition(sep) -> (head, sep, tail) 412 413 Search for the separator sep in S, and return the part before it, 414 the separator itself, and the part after it. If the separator is not 415 found, return S and two empty strings. 416 """ 417 pass 418 # 用于拆分字符串,返回一个包含三个元素的元组;返回一个包含三个元素的元组。如果指定的字符串sep不存在,则返回自己加两个空元素。 419 # >>> a = "Hi, I'm abel" 420 # >>> b = a.partition('a') 421 # >>> b 422 # ("Hi, I'm ", 'a', 'bel') 423 # >>> c = a.partition('z') 424 # >>> c 425 # ("Hi, I'm abel", '', '') 426 def replace(self, old, new, count=None): # real signature unknown; restored from __doc__ 427 """ 428 S.replace(old, new[, count]) -> str 429 430 Return a copy of S with all occurrences of substring 431 old replaced by new. If the optional argument count is 432 given, only the first count occurrences are replaced. 433 """ 434 return "" 435 # 使用新的字符串替换老的字符串(可选参数count 指定替换的次数,默认是全部) 436 # >>> a = "Abelisgood" 437 # >>> b = a.replace('o', 'z') 438 # >>> b 439 # 'Abelisgzzd' 440 # >>> b = a.replace('o', 'z', 1) 441 # >>> b 442 # 'Abelisgzod' 443 444 def rfind(self, sub, start=None, end=None): # real signature unknown; restored from __doc__ 445 """ 446 S.rfind(sub[, start[, end]]) -> int 447 448 Return the highest index in S where substring sub is found, 449 such that sub is contained within S[start:end]. Optional 450 arguments start and end are interpreted as in slice notation. 451 452 Return -1 on failure. 453 """ 454 return 0 455 # 反向查找,与find 是相反方向 456 457 def rindex(self, sub, start=None, end=None): # real signature unknown; restored from __doc__ 458 """ 459 S.rindex(sub[, start[, end]]) -> int 460 461 Like S.rfind() but raise ValueError when the substring is not found. 462 """ 463 return 0 464 # 返回字符串所在的索引,与index 相反方向 465 466 def rjust(self, width, fillchar=None): # real signature unknown; restored from __doc__ 467 """ 468 S.rjust(width[, fillchar]) -> str 469 470 Return S right-justified in a string of length width. Padding is 471 done using the specified fill character (default is a space). 472 """ 473 return "" 474 # 右对齐,右填充。与ljust 相反 475 476 def rpartition(self, sep): # real signature unknown; restored from __doc__ 477 """ 478 S.rpartition(sep) -> (head, sep, tail) 479 480 Search for the separator sep in S, starting at the end of S, and return 481 the part before it, the separator itself, and the part after it. If the 482 separator is not found, return two empty strings and S. 483 """ 484 pass 485 # 拆分:与 partition相反,只不过是从字符串的右边开始拆分。 486 def rsplit(self, sep=None, maxsplit=-1): # real signature unknown; restored from __doc__ 487 """ 488 S.rsplit(sep=None, maxsplit=-1) -> list of strings 489 490 Return a list of the words in S, using sep as the 491 delimiter string, starting at the end of the string and 492 working to the front. If maxsplit is given, at most maxsplit 493 splits are done. If sep is not specified, any whitespace string 494 is a separator. 495 """ 496 return [] 497 # 与split类似,从右边开始拆分,返回一个列表类型,(可选参数maxsplit 每次+- 1 sep 的值默认是空格) 498 def rstrip(self, chars=None): # real signature unknown; restored from __doc__ 499 """ 500 S.rstrip([chars]) -> str 501 502 Return a copy of the string S with trailing whitespace removed. 503 If chars is given and not None, remove characters in chars instead. 504 """ 505 return "" 506 # 507 508 def split(self, sep=None, maxsplit=-1): # real signature unknown; restored from __doc__ 509 """ 510 S.split(sep=None, maxsplit=-1) -> list of strings 511 512 Return a list of the words in S, using sep as the 513 delimiter string. If maxsplit is given, at most maxsplit 514 splits are done. If sep is not specified or is None, any 515 whitespace string is a separator and empty strings are 516 removed from the result. 517 """ 518 return [] 519 # 从左边开始拆分,返回一个列表类型,(可选参数maxsplit 每次+- 1 sep 的值默认是空格) 520 521 def splitlines(self, keepends=None): # real signature unknown; restored from __doc__ 522 """ 523 S.splitlines([keepends]) -> list of strings 524 525 Return a list of the lines in S, breaking at line boundaries. 526 Line breaks are not included in the resulting list unless keepends 527 is given and true. 528 """ 529 return [] 530 # 拆分多行字符串,以每行一个元素生成一个新的列表,如果是单行字符串,则返回原字符串 531 532 def startswith(self, prefix, start=None, end=None): # real signature unknown; restored from __doc__ 533 """ 534 S.startswith(prefix[, start[, end]]) -> bool 535 536 Return True if S starts with the specified prefix, False otherwise. 537 With optional start, test S beginning at that position. 538 With optional end, stop comparing S at that position. 539 prefix can also be a tuple of strings to try. 540 """ 541 return False 542 # 是否以字符串开始(可选参数,start与end 分别代表起始和结束),返回bool值 543 544 def strip(self, chars=None): # real signature unknown; restored from __doc__ 545 """ 546 S.strip([chars]) -> str 547 548 Return a copy of the string S with leading and trailing 549 whitespace removed. 550 If chars is given and not None, remove characters in chars instead. 551 """ 552 return "" 553 # 去除左边空白或自定义字符串 554 555 def swapcase(self): # real signature unknown; restored from __doc__ 556 """ 557 S.swapcase() -> str 558 559 Return a copy of S with uppercase characters converted to lowercase 560 and vice versa. 561 """ 562 return "" 563 # 把字符串的大小写字母互换输出 564 565 def title(self): # real signature unknown; restored from __doc__ 566 """ 567 S.title() -> str 568 569 Return a titlecased version of S, i.e. words start with title case 570 characters, all remaining cased characters have lower case. 571 """ 572 return "" 573 # 字符串首字母大写,其他全部小写 574 575 def translate(self, table): # real signature unknown; restored from __doc__ 576 """ 577 S.translate(table) -> str 578 579 Return a copy of the string S in which each character has been mapped 580 through the given translation table. The table must implement 581 lookup/indexing via __getitem__, for instance a dictionary or list, 582 mapping Unicode ordinals to Unicode ordinals, strings, or None. If 583 this operation raises LookupError, the character is left untouched. 584 Characters mapped to None are deleted. 585 """ 586 return "" 587 # str.maketrans()函数配合使用,替换相应的字符 588 589 def upper(self): # real signature unknown; restored from __doc__ 590 """ 591 S.upper() -> str 592 593 Return a copy of S converted to uppercase. 594 """ 595 return "" 596 # 与lower 相反,全部转换为大写 597 598 def zfill(self, width): # real signature unknown; restored from __doc__ 599 """ 600 S.zfill(width) -> str 601 602 Pad a numeric string S with zeros on the left, to fill a field 603 of the specified width. The string S is never truncated. 604 """ 605 return "" 606 # 回一个添充的字符串,width 添写长度,如果长宽和字符串相等,则直接返回字符串本身,如果长度大小字符串,则用0添充至指定的长度 607 608 def __add__(self, *args, **kwargs): # real signature unknown 609 """ Return self+value. """ 610 pass 611 612 def __contains__(self, *args, **kwargs): # real signature unknown 613 """ Return key in self. """ 614 pass 615 616 # str中包含的key或者字节 617 618 def __eq__(self, *args, **kwargs): # real signature unknown 619 """ Return self==value. """ 620 pass 621 622 def __format__(self, format_spec): # real signature unknown; restored from __doc__ 623 """ 624 S.__format__(format_spec) -> str 625 626 Return a formatted version of S as described by format_spec. 627 """ 628 return "" 629 630 def __getattribute__(self, *args, **kwargs): # real signature unknown 631 """ Return getattr(self, name). """ 632 pass 633 634 # 反射时候使用 635 636 def __getitem__(self, *args, **kwargs): # real signature unknown 637 """ Return self[key]. """ 638 pass 639 # 640 641 def __getnewargs__(self, *args, **kwargs): # real signature unknown 642 pass 643 644 def __ge__(self, *args, **kwargs): # real signature unknown 645 """ Return self>=value. """ 646 pass 647 648 def __gt__(self, *args, **kwargs): # real signature unknown 649 """ Return self>value. """ 650 pass 651 652 def __hash__(self, *args, **kwargs): # real signature unknown 653 """ Return hash(self). """ 654 pass 655 656 def __init__(self, value='', encoding=None, errors='strict'): # known special case of str.__init__ 657 """ 658 str(object='') -> str 659 str(bytes_or_buffer[, encoding[, errors]]) -> str 660 661 Create a new string object from the given object. If encoding or 662 errors is specified, then the object must expose a data buffer 663 that will be decoded using the given encoding and error handler. 664 Otherwise, returns the result of object.__str__() (if defined) 665 or repr(object). 666 encoding defaults to sys.getdefaultencoding(). 667 errors defaults to 'strict'. 668 # (copied from class doc) 669 """ 670 pass 671 672 def __iter__(self, *args, **kwargs): # real signature unknown 673 """ Implement iter(self). """ 674 pass 675 676 def __len__(self, *args, **kwargs): # real signature unknown 677 """ Return len(self). """ 678 pass 679 680 def __le__(self, *args, **kwargs): # real signature unknown 681 """ Return self<=value. """ 682 pass 683 684 def __lt__(self, *args, **kwargs): # real signature unknown 685 """ Return self<value. """ 686 pass 687 688 def __mod__(self, *args, **kwargs): # real signature unknown 689 """ Return self%value. """ 690 pass 691 692 def __mul__(self, *args, **kwargs): # real signature unknown 693 """ Return self*value.n """ 694 pass 695 696 @staticmethod # known case of __new__ 697 def __new__(*args, **kwargs): # real signature unknown 698 """ Create and return a new object. See help(type) for accurate signature. """ 699 pass 700 701 def __ne__(self, *args, **kwargs): # real signature unknown 702 """ Return self!=value. """ 703 pass 704 705 def __repr__(self, *args, **kwargs): # real signature unknown 706 """ Return repr(self). """ 707 pass 708 709 def __rmod__(self, *args, **kwargs): # real signature unknown 710 """ Return value%self. """ 711 pass 712 713 def __rmul__(self, *args, **kwargs): # real signature unknown 714 """ Return self*value. """ 715 pass 716 717 def __sizeof__(self): # real signature unknown; restored from __doc__ 718 """ S.__sizeof__() -> size of S in memory, in bytes """ 719 pass 720 721 def __str__(self, *args, **kwargs): # real signature unknown 722 """ Return str(self). """ 723 pass