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




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值