在python 中任何事物都是对象,就是万物皆对象,同时字符串也是一个对象,当你调用一些基本的操作方法时,会自动调用类定义的内建方法,在python中方法主要三种
1 一般的工友方法(默认)命名:和一般的函数命名规则相同
2私有方法命名:一般以__开始
3内建的方法,有时你也需要重写或重载 比如__init__构造方法
下面具体来看一下str的类方法
class str(basestring)
| str(object) ->string
|
| Return a nice stringrepresentation of the object.
| If the argument is a string,the return value is the same object.
|
| Method resolutionorder:
| str
| basestring
| object
|
| Methods defined here:
|
| __add__(...)
| x.__add__(y) <==> x+y
|
| __contains__(...)
| x.__contains__(y) <==> y in x
|
| __eq__(...)
| x.__eq__(y) <==> x==y
|
| __format__(...)
| S.__format__(format_spec) -> unicode
|
| __ge__(...)
| x.__ge__(y) <==>x>=y
|
| __getattribute__(...)
| x.__getattribute__('name') <==>x.name
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]
|
| __getnewargs__(...)
|
| __getslice__(...)
| x.__getslice__(i, j) <==>x[i:j]
|
| Use of negative indices is not supported.
|
| __gt__(...)
| x.__gt__(y) <==>x>y
|
| __hash__(...)
| x.__hash__() <==> hash(x)
|
| __le__(...)
| x.__le__(y) <==>x<=y
|
| __len__(...)
| x.__len__() <==> len(x)
|
| __lt__(...)
| x.__lt__(y) <==>x<y
|
| __mod__(...)
| x.__mod__(y) <==> x%y
|
| __mul__(...)
| x.__mul__(n) <==> x*n
|
| __ne__(...)
| x.__ne__(y) <==> x!=y
|
| __repr__(...)
| x.__repr__() <==> repr(x)
|
| __rmod__(...)
| x.__rmod__(y) <==> y%x
|
| __rmul__(...)
| x.__rmul__(n) <==> n*x
|
| __sizeof__(...)
| S.__sizeof__() -> size of S in memory, inbytes
|
| __str__(...)
| x.__str__() <==> str(x)
|
| capitalize(...)
| S.capitalize() -> string
|
| Return a copy of the string S with only its first character
| capitalized.
|
| center(...)
| S.center(width[, fillchar]) -> string
|
| Return S centered in a string of length width. Padding is
| done using the specified fill character (default is a space)
|
| count(...)
| S.count(sub[, start[, end]]) -> int
|
| Return the number of non-overlapping occurrences of substring subin
| string S[start:end]. Optional arguments start andend are interpreted
| as in slice notation.
|
| decode(...)
| S.decode([encoding[,errors]]) -> object
|
| Decodes S using the codec registered for encoding. encodingdefaults
| to the default encoding. errors may be given to set a differenterror
| handling scheme. Default is 'strict' meaning that encoding errorsraise
| a UnicodeDecodeError. Other possible values are 'ignore' and'replace'
| as well as any other name registered with codecs.register_errorthat is
| able to handle UnicodeDecodeErrors.
|
| encode(...)
| S.encode([encoding[,errors]]) -> object
|
| Encodes S using the codec registered for encoding. encodingdefaults
| to the default encoding. errors may be given to set a differenterror
| handling scheme. Default is 'strict' meaning that encoding errorsraise
| a UnicodeEncodeError. Other possible values are 'ignore', 'replace'and
| 'xmlcharrefreplace' as well as any other name registered with
| codecs.register_error that is able to handleUnicodeEncodeErrors.
|
| endswith(...)
| S.endswith(suffix[, start[, end]]) -> bool
|
| Return True if S ends with the specified suffix, Falseotherwise.
| With optional start, test S beginning at that position.
| With optional end, stop comparing S at that position.
| suffix can also be a tuple of strings to try.
|
| expandtabs(...)
| S.expandtabs([tabsize]) -> string
|
| Return a copy of S where all tab characters are expanded usingspaces.
| If tabsize is not given, a tab size of 8 characters isassumed.
|
| find(...)
| S.find(sub [,start [,end]]) -> int
|
| Return the lowest index in S where substring sub is found,
| such that sub is contained within s[start:end]. Optional
| arguments start and end are interpreted as in slice notation.
|
| Return -1 on failure.
|
| format(...)
| S.format(*args, **kwargs) -> unicode
|
| index(...)
| S.index(sub [,start [,end]]) -> int
|
| Like S.find() but raise ValueError when the substring is notfound.
|
| isalnum(...)
| S.isalnum() -> bool
|
| Return True if all characters in S are alphanumeric
| and there is at least one character in S, False otherwise.
|
| isalpha(...)
| S.isalpha() -> bool
|
| Return True if all characters in S are alphabetic
| and there is at least one character in S, False otherwise.
|
| isdigit(...)
| S.isdigit() -> bool
|
| Return True if all characters in S are digits
| and there is at least one character in S, False otherwise.
|
| islower(...)
| S.islower() -> bool
|
| Return True if all cased characters in S are lowercase and thereis
| at least one cased character in S, False otherwise.
|
| isspace(...)
| S.isspace() -> bool
|
| Return True if all characters in S are whitespace
| and there is at least one character in S, False otherwise.
|
| istitle(...)
| S.istitle() -> bool
|
| Return True if S is a titlecased string and there is at leastone
| character in S, i.e. uppercase characters may only followuncased
| characters and lowercase characters only cased ones. ReturnFalse
| otherwise.
|
| isupper(...)
| S.isupper() -> bool
|
| Return True if all cased characters in S are uppercase and thereis
| at least one cased character in S, False otherwise.
|
| join(...)
| S.join(sequence) -> string
|
| Return a string which is the concatenation of the strings inthe
| sequence. The separator between elements isS.
|
| ljust(...)
| S.ljust(width[, fillchar]) -> string
|
| Return S left-justified in a string of length width. Paddingis
| done using the specified fill character (default is a space).
|
| lower(...)
| S.lower() -> string
|
| Return a copy of the string S converted to lowercase.
|
| lstrip(...)
| S.lstrip([chars]) -> string or unicode
|
| Return a copy of the string S with leading whitespaceremoved.
| If chars is given and not None, remove characters in charsinstead.
| If chars is unicode, S will be converted to unicode beforestripping
|
| partition(...)
| S.partition(sep) -> (head, sep, tail)
|
| Search for the separator sep in S, and return the part beforeit,
| the separator itself, and the part after it. Ifthe separator is not
| found, return S and two empty strings.
|
| replace(...)
| S.replace (old, new[, count]) -> string
|
| Return a copy of string S with all occurrences of substring
| old replaced by new. If the optional argumentcount is
| given, only the first count occurrences are replaced.
|
| rfind(...)
| S.rfind(sub [,start [,end]]) -> int
|
| Return the highest index in S where substring sub is found,
| such that sub is contained within s[start:end]. Optional
| arguments start and end are interpreted as in slice notation.
|
| Return -1 on failure.
|
| rindex(...)
| S.rindex(sub [,start [,end]]) -> int
|
| Like S.rfind() but raise ValueError when the substring is notfound.
|
| rjust(...)
| S.rjust(width[, fillchar]) -> string
|
| Return S right-justified in a string of length width. Paddingis
| done using the specified fill character (default is a space)
|
| rpartition(...)
| S.rpartition(sep) -> (tail, sep, head)
|
| Search for the separator sep in S, starting at the end of S, andreturn
| the part before it, the separator itself, and the part afterit. If the
| separator is not found, return two empty strings and S.
|
| rsplit(...)
| S.rsplit([sep [,maxsplit]]) -> list of strings
|
| Return a list of the words in the string S, using sep as the
| delimiter string, starting at the end of the string andworking
| to the front. If maxsplit is given, at mostmaxsplit splits are
| done. If sep is not specified or is None, any whitespacestring
| is a separator.
|
| rstrip(...)
| S.rstrip([chars]) -> string or unicode
|
| Return a copy of the string S with trailing whitespaceremoved.
| If chars is given and not None, remove characters in charsinstead.
| If chars is unicode, S will be converted to unicode beforestripping
|
| split(...)
| S.split([sep [,maxsplit]]) -> list of strings
|
| Return a list of the words in the string S, using sep as the
| delimiter string. If maxsplit is given, at mostmaxsplit
| splits are done. If sep is not specified or is None, any
| whitespace string is a separator and empty strings areremoved
| from the result.
|
| splitlines(...)
| S.splitlines([keepends]) -> list of strings
|
| Return a list of the lines in S, breaking at line boundaries.
| Line breaks are not included in the resulting list unlesskeepends
| is given and true.
|
| startswith(...)
| S.startswith(prefix[, start[, end]]) -> bool
|
| Return True if S starts with the specified prefix, Falseotherwise.
| With optional start, test S beginning at that position.
| With optional end, stop comparing S at that position.
| prefix can also be a tuple of strings to try.
|
| strip(...)
| S.strip([chars]) -> string or unicode
|
| Return a copy of the string S with leading and trailing
| whitespace removed.
| If chars is given and not None, remove characters in charsinstead.
| If chars is unicode, S will be converted to unicode beforestripping
|
| swapcase(...)
| S.swapcase() -> string
|
| Return a copy of the string S with uppercase characters
| converted to lowercase and vice versa.
|
| title(...)
| S.title() -> string
|
| Return a titlecased version of S, i.e. words start withuppercase
| characters, all remaining cased characters have lowercase.
|
| translate(...)
| S.translate(table [,deletechars]) -> string
|
| Return a copy of the string S, where all characters occurring
| in the optional argument deletechars are removed, and the
| remaining characters have been mapped through the given
| translation table, which must be a string of length 256.
|
| upper(...)
| S.upper() -> string
|
| Return a copy of the string S converted to uppercase.
|
| zfill(...)
| S.zfill(width) -> string
|
| Pad a numeric string S with zeros on the left, to fill afield
| of the specified width. The string S is nevertruncated.
下面对一些方法举例说明
str1='ubuntu linux'
str2="linux"
print (str1.index(str2))
print (str1.find('r'))
print (str1.find(str2))
7
-1
7
>>>
find 和index 都能找出一个字符串在另外一个钟出现的首位置,但是还是有不同之处,find如果查到了就返回出现的首位置,查不到就返回false
str1='ubuntu linux'
str2="linux"
print (str1.index(str2))
print str1[str1.find(str2):]#可以用这种方法分割字符串
输出
>>>
7
linux
startswith(..)
S.endswith(suffix[, start[, end]]) -> bool
endswith(...)
S.endswith(suffix[, start[, end]]) -> bool
正如其名,他们分别是判断一个字符串师傅是以什么开头或以什么结尾
lstrip() rstrip strip
分别是用来删除前导空白,后导空白,和前后空白的
str1=' ubuntu linux '
print (str1.lstrip())
print (str1.rstrip())
print (str1.strip())
>>>
ubuntu linux
ubuntu linux
ubuntu linux
>>>
split(...)
S.split([sep [,maxsplit]]) -> list of strings
分割字符串
str1=' ubuntu linux '
print (str1.split(' '))
输出
['', 'ubuntu', 'linux', '']
返回的是一个序列
join(...) 将多个字符换压缩为单个字符串
S.join(sequence) -> string
arg1=['1','2','3']
str1=""
print (str1.join(arg1))
>>>
123
>>>
注意:join链接的是一些字符串碎片,如果不是可能会报错,比如
arg1=[1,2,'3']
str1=""
print (str1.join(arg1))
报错
Traceback (most recent call last):
File "E:/python/5", line 3, in <module>
print (str1.join(arg1))
TypeError: sequence item 0: expected string, int found
这里并没有将整数隐式转换为字符串
join抛出的异常是自解的,已经说明了异常情况
可以这样解决
arg1=[1,2,3,4,5]
print (''.join(str(i) for i in arg1))
>>>
12345
>>>
for遍历出来就是字符串了