python之字符串str的基本用法

落爺英雄遲暮 提交于 2020-02-26 10:34:13

定义:字符串就是由任意字符任意个数组成的有限序列

任意字符:字母,数字,特殊符号,中文

注意:字符串也是一种不可变的数据类型,字符串可以充当字典的key

工作原理:一个字符串的底层维护了一个由字符组成的元组,如:“hello‘----->(’h‘,‘e’,‘l’,‘l’,‘o’)

基本用法

dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']

接下来,直接举例。

1.大小写转换

s = 'Hello, World'
s.upper()
'HELLO, WORLD'
s.lower()
'hello, world'
s.swapcase()	#大写转小写,小写转大写
'hELLO, wORLD'
s.title()	#每个单词的首字母大写
'Hello, World'
s.capitalize()	#首单词的首字母大写
'Hello, world'

2.判断开头与结尾

s = 'Hello, World'
s.startswith('h')	#判断一个字符串是否是以指定子字符串开头
False
s.endswith('d')		#判断一个字符串是否是以指定子字符串结尾
True

3.切割与合并

s1 = 'good,better,best'
s1.split(',')
['good', 'better', 'best']
'--'.join(s1.split(','))
'good--better--best'

4.填充与移除

s = 'Hello, World'
s.center(30)
'         Hello, World         '
s.center(30,'*')		#使字符串居中
'*********Hello, World*********'
s.center(30,'*').strip('*')		#移除一个字符串两端的指定字符
'Hello, World'
s.center(30,'*').lstrip('*')    #移除一个字符串左边的指定字符
'Hello, World*********'
s.center(30,'*').rstrip('*')	#移除一个字符串右边的指定字符
'*********Hello, World'

s.ljust(30,'*')
'Hello, World******************'
s.rjust(30,'*')
'******************Hello, World'
s.zfill(30)		#默认填充0
'000000000000000000Hello, World'

5.替换

s
'Hello, World'
s.replace('World','jack')  #replace(old,new)
'Hello, jack'

6.索引查找

s
'Hello, World'
s.index('o')
4
s.rindex('o')
8
s.index('a')   #查不到报错
Traceback (most recent call last):
  File "<input>", line 1, in <module>
ValueError: substring not found
s.find('o')
4
s.rfind('o')
8
s.find('a')		 #查不到返回-1
-1

7.编解码

s
'Hello, World'
s.encode('utf8')	#编码,将字符串转化为字节类型【str--->bytes】
b'Hello, World'
a = s.encode('utf8')
a.decode('utf8')   	#解码,将字节类型转换为字符串【bytes---->str】
'Hello, World'

8.其他

eval('1+2')        #将str转换为有效的表达式
3
eval('1==2')
False

后续有待补充,望大家批评指正!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!