您的位置:首页 > 编程语言 > Python开发

Python字符串的内置方法

2016-07-13 15:43 483 查看
如何查看字符串有哪些内置方法?
我们可以先创建一个类型为字符串的变量,然后查看该变量的类型。
然后用dir()方法查看字符串的内置方法有哪些。最后可以用help()查看各个内置方法的用法

>>> string='hello'
>>> type(string)
<type 'str'>
>>> dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
'__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__',
'__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'_formatter_field_name_split', '_formatter_parser', 'capitalize',
'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs',
'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower',
'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip',
'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition',
'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip',
'swapcase', 'title', 'translate', 'upper', 'zfill']
以上就是字符串所有的内置方法。

常用的字符串方法:

capitalize(): 首字母大写

>>> string="asdf"
>>> string.capitalize()
'Asdf'

center(长度,填充符号):
输出指定长度的字符串,并且将目标字符串居中,两边以指定的符号填充

string="asdf"
>>> string.center(10,'*')
‘***asdf***'

count(‘字符串’,开始下标,结束下标) :
查看子序列的个数,或者说查看某个字符的个数

>>> name="asdfsdfsdfasdf"
>>> name.count('s')
4
>>> name.count('s',0,9)
3

expandtabs(空格个数):
将tab转换成空格,可以指定转换成多格式空格,默认一个tab转换成8个空格

>>> name='ze\tng'
>>> name.expandtabs()
'ze ng'
>>> name.expandtabs(1)
'ze ng’

find() :
寻找第一个被匹配到的子序列的下标,如果没有找到,则返回-1

>>> string
'asdf'
>>> string.find('s')
1
>>> string.find('e')
-1

format() :
字符串格式化

>>> string = "I am {0},age {1}"
>>> string.format('zenge',28)
'I am zenge,age 28'
还可以这样:
>>> string = "I am {ss},age {dd}"
>>> string.format(ss='zenge',dd=28)
'I am zenge,age 28’
##第二种方法相比较于第一种方法好处是,传值的时候不需要按照顺序传

列表传参

>>> list=[‘zeng',28]
>>> name="I am {0},age {1}"
>>> name.format(*list)
'I am zeng,age 28’

字典传参

>>> dict={'ss':'zeng','dd':28}
>>> name="I am {ss},age {dd}"
>>> name.format(**dict)
'I am zeng,age 28'

index():
查找指定字符的下标,和find差不多,区别在于如果要查找的字符不存在,那么find返回-1,而index则会报错

>>> string = "asddfasd"
>>> string.index(d)
>>> string.index('d')
2

isalnum():
检查字符串是否为字母和数字,返回值为布尔型

>>> name="曾"
>>> name.isalnum()
False

islower():
检查字符串是否全都是小写,返回值为布尔型,对应的是isupper()

>>> name="asdfasA"
>>> name.islower()
False

isdigit():
检查字符串是否全部为数字

>>> num='12323'
>>> num.isdigit()
True
>>> num='123234hehe'
>>> num.isdigit()
False

isspace():
检查字符串是否全部为空格

>>> name = ' '
>>> name.isspace()
True
>>> name = ' 1'
>>> name.isspace()
False

istitle() :
检查字符串是否为标题(标题的特点是首字母大写)

>>> name= "alex sb"
>>> name.istitle()
False

titie() :
将字符串转换成标题, 标题格式就是首字母大写

>>> name= "alex sb"
>>> name.title()
'Alex Sb’

join() :
将列表中的元素用符号连接起来组成字符串

>>> list=["zeng",'28']
>>> '_'.join(list)
'zeng_28'

ljust(宽度,填充符号) :
内容左对齐 右对齐为rjust(),与center()对应

>>> name=“asdasd"
>>> name.ljust(20,'*')
'asdasd**************'

upper() :
字符串由小写变成大写, 与之相反的是lower() ,大写变成小写

>>> name
'asdasd'
>>> name.upper()
'ASDASD'

swapcase() :
大小写转换,大写的转换成小写,小写的转换成大写

>>> name="aaaBBB"
>>> name.swapcase()
'AAAbbb'

partition() :
将字符串按照指定的字符或者符号分割成前中后三部分

>>> name="Hello world"
>>> name.partition('ll')
('He', 'll', 'o world’)

replace(old,new):
替换 ,注意字符中所有满足条件的都会被替换

'Hello world'
>>> name.replace('ll','LL')
'HeLLo world'

split()
将字符串以某个字符分割,分割后的结果为列表

>>> name = "hello,zeng"
>>> name.split(',')
['hello', 'zeng']

strip()
删除字符串中指定的字符,例如删除空格,rstrip()方法是删除字符串右边的指定字符,lstrip()方法是删除字符串左边的指定字符

>>> name = ' zeng '
>>> name.strip('')
' zeng '
>>> name.strip(' ')
'zeng'
>>> name.rstrip(' ')
' zeng'
>>> name.lstrip(' ')
'zeng '

使用help()方法查看字符串所有内置方法的详细信息和用法

| 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) -> string
|
| Return a formatted version of S as described by format_spec.
|
| __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, in bytes
|
| __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 sub in
| string S[start:end]. Optional arguments start and end are interpreted
| as in slice notation.
|
| decode(...)
| S.decode([encoding[,errors]]) -> object
|
| Decodes S using the codec registered for encoding. encoding defaults
| to the default encoding. errors may be given to set a different error
| handling scheme. Default is 'strict' meaning that encoding errors raise
| a UnicodeDecodeError. Other possible values are 'ignore' and 'replace'
| as well as any other name registered with codecs.register_error that is
| able to handle UnicodeDecodeErrors.
|
| encode(...)
| S.encode([encoding[,errors]]) -> object
|
| Encodes S using the codec registered for encoding. encoding defaults
| to the default encoding. errors may be given to set a different error
| handling scheme. Default is 'strict' meaning that encoding errors raise
| 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 handle UnicodeEncodeErrors.
|
| endswith(...)
| S.endswith(suffix[, start[, end]]) -> bool
|
| Return True if S ends with the specified suffix, False otherwise.
| 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 using spaces.
| If tabsize is not given, a tab size of 8 characters is assumed.
|
| 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) -> string
|
| Return a formatted version of S, using substitutions from args and kwargs.
| The substitutions are identified by braces ('{' and '}').
|
| index(...)
| S.index(sub [,start [,end]]) -> int
|
| Like S.find() but raise ValueError when the substring is not found.
|
| 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 there is
| 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 least one
| character in S, i.e. uppercase characters may only follow uncased
| characters and lowercase characters only cased ones. Return False
| otherwise.
|
| isupper(...)
| S.isupper() -> bool
|
| Return True if all cased characters in S are uppercase and there is
| at least one cased character in S, False otherwise.
|
| join(...)
| S.join(iterable) -> string
|
| Return a string which is the concatenation of the strings in the
| iterable. The separator between elements is S.
|
| ljust(...)
| S.ljust(width[, fillchar]) -> string
|
| Return S left-justified in a string of length width. Padding is
| 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 whitespace removed.
| If chars is given and not None, remove characters in chars instead.
| If chars is unicode, S will be converted to unicode before stripping
|
| partition(...)
| S.partition(sep) -> (head, sep, tail)
|
| Search for the separator sep in S, and return the part before it,
| the separator itself, and the part after it. If the 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 argument count 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 not found.
|
| rjust(...)
| S.rjust(width[, fillchar]) -> string
|
| Return S right-justified in a string of length width. Padding is
| done using the specified fill character (default is a space)
|
| rpartition(...)
| S.rpartition(sep) -> (head, sep, tail)
|
| Search for the separator sep in S, starting at the end of S, and return
| the part before it, the separator itself, and the part after it. 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 and working
| to the front. If maxsplit is given, at most maxsplit splits are
| done. If sep is not specified or is None, any whitespace string
| is a separator.
|
| rstrip(...)
| S.rstrip([chars]) -> string or unicode
|
| Return a copy of the string S with trailing whitespace removed.
| If chars is given and not None, remove characters in chars instead.
| If chars is unicode, S will be converted to unicode before stripping
|
| 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 most maxsplit
| splits are done. If sep is not specified or is None, any
| whitespace string is a separator and empty strings are removed
| from the result.
|
| splitlines(...)
| S.splitlines(keepends=False) -> list of strings
|
| Return a list of the lines in S, breaking at line boundaries.
| Line breaks are not included in the resulting list unless keepends
| is given and true.
|
| startswith(...)
| S.startswith(prefix[, start[, end]]) -> bool
|
| Return True if S starts with the specified prefix, False otherwise.
| 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 chars instead.
| If chars is unicode, S will be converted to unicode before stripping
|
| 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 with uppercase
| 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 or None.
| If the table argument is None, no translation is applied and
| the operation simply removes the characters in deletechars.
|
| 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 a field
| of the specified width. The string S is never truncated.
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object>
| T.__new__(S, ...) -> a new object with type S, a subtype of T

本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1790771
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息