python str 对象

在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遍历出来就是字符串了




你可能感兴趣的:(python str 对象)