设为首页 收藏本站
查看: 1568|回复: 0

[经验分享] python学习笔记字符串(二)

[复制链接]

尚未签到

发表于 2018-8-9 10:40:51 | 显示全部楼层 |阅读模式
字符串类型(string)  字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"123"等等。
  请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
  1、创建字符串
b =   'asdasd'  2、字符串操作
  a.重复输出字符串
print('Python' * 5)  >>>PythonPythonPythonPythonPython
  b.通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表
print('hello world'[2:])  >>>llo world
  c.in  成员运算符 - 如果字符串中包含给定的字符返回 True
print('rl' in  'hello world')  >>>True
  d.%格式字符串
print("she sis a good girl")  
print("she sis a %s girl" % 'good')
  >>>she is a good girl
  >>>she is a good girl
  e.字符串拼接a
a = 'zxc'  
b = 'asd'
  
c = 'qwe'
  
print(a+b+c)
  >>>zxcasdqwe
  以上方式效率极低,建议用join做字符串拼接
a = 'zxc'  
b = 'asd'
  
c = 'qwe'
  
print(''.join([a,b,c]))
  
print('+'.join([a,b,c]))
  >>>zxcasdqwe
  >>>zxc+asd+qwe
  3、字符串内置方法
capitalize把字符串的第一个字符大写,且不会修改原字符串,返回一个新的字符串a = 'hello world!'  
print(a.capitalize())
  >>>Hello world!
center返回一个原字符串居中,并使用*填充至长度 20 的新字符串a = 'asd'  
print(a.center(20,'*'))
  >>>********asd*********
  count统计字符串中元素的个数
a = 'hello world!'  
print(a.count('l'))
  >>>3
  endswith判断是否以某个内容结尾,返回布尔值
a = 'hello world!'  
print(a.endswith('ld!'))
  >>>True
  startswith判断是否以某个内容开始,返回布尔值
  expandtabs(tabsize=8)把字符串中的tab符号转为空格,tab默认空格数是8.
a = 'hello\t worl\td!'  
print(a.expandtabs(tabsize=10))
  >>>hello     worl      d!
string.find(str, beg=0, end=len(string))检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1a = 'hello world!'  
print(a.find('or'))
  
print(a.find('or',5,9))
  
print(a.find('or',2,5))
  >>>7
  >>>7
  >>>-1
string.index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在 string中会报一个异常.a = 'hello world!'  
print(a.index('or'))
  
print(a.index('or',5,9))
  
print(a.index('or',1,3))
  >>>7
  >>>7
  >>>Traceback (most recent call last):
  File "str.py", line 6, in <module>
  print(a.index('or',1,3))
  >>>ValueError: substring not found
string.isalnum()如果string所有字符都是字母或数字则返回 True,否则返回 Falsea = 'helloworld'  
b = '123123'
  
c = 'python3'
  
d = 'python 3'
  
print(a.isalnum())
  
print(b.isalnum())
  
print(c.isalnum())
  
print(d.isalnum())
  >>>True
  >>>True
  >>>True
  >>>False
string.isalpha()如果 string 所有字符都是字母则返回 True,否则返回 Falsea = 'helloworld'  
c = 'python3'
  
print(a.isalpha())
  
print(c.isalpha())
  >>>True
  >>>False
string.isdecimal()如果 string 只包含十进制数字则返回 True 否则返回 False.string.isdigit()如果 string 只包含数字则返回 True 否则返回 False.string.islower()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 Falsestring.isnumeric()如果 string 中只包含数字字符,则返回 True,否则返回 False  

  

  

  
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
  
False: 汉字数字
  
Error: 无
  

  
True: Unicode数字,,全角数字(双字节)
  
False: 罗马数字,汉字数字
  
Error: byte数字(单字节)
  

  
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
  
False: 无
  
Error: byte数字(单字节)
  

  

  
string.

  string.istitle()如果 string 是标题化的(见>a = 'hello world'  
b = 'Hello World'
  
print(a.istitle())
  
print(b.istitle())
  >>>False
  >>>True
  string.isupper()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
  string.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
a = 'MY GIRL'  
b = 'xxxx'
  
print('+'.join(a))
  
print('$'.join([a,b]))
  >>>M+Y+ +G+I+R+L
  >>>MY GIRL$xxxx

  string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度>a = 'MY GIRL'  
print(a.ljust(20,'-'))
  >>>MY GIRL-------------
  string.lower()转换 string 中所有大写字符为小写.
  string.lstrip()截掉 string 左边的空格
  string.maketrans(intab, outtab])用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
a = 'MY GIRL'  
print(a.maketrans('x','S'))
  >>>{120: 83}
  max(str)返回字符串 str 中最大的字母。
  min(str)返回字符串 str 中最小的字母。
  string.partition(str)有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.
a = 'MY GIRL!'  
print(a.partition('GI'))
  
print(a.partition('BI'))
  >>>('MY ', 'GI', 'RL')
  >>>('MY GIRL', '', '')
  string.replace(str1, str2,  num=string.count(str1))  把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
a = 'hello world!'  
print(a.replace('l','F',2))
  
print(a.replace('l','F'))
  >>>heFFo world!
  >>>heFFo worFd!
  string.rfind(str, beg=0,end=len(string) )类似于 find()函数,不过是从右边开始查找.
  string.rindex( str, beg=0,end=len(string))类似于 index(),不过是从右边开始.

  string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度>  string.rpartition(str)类似于 partition()函数,不过是从右边开始查找.
  string.rstrip()删除 string 字符串末尾的空格.
  string.split(str="", num=string.count(str))以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串
a = 'hello world!'  
print(a.split())
  >>>['hello', 'world!']
  string.splitlines(num=string.count('\n'))按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.
a = 'hello world!\nMY GIRL!'  
print(a.splitlines())
  >>>['hello world!', 'MY GIRL!']
  string.startswith(obj, beg=0,end=len(string))检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.
  string.strip([obj])在 string 上执行 lstrip()和 rstrip(),去掉空格包含((包括'\n', '\r', '\t', ' '))
  string.swapcase()翻转 string 中的大小写
  string.title()返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
  string.translate(str, del="")根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 del 参数中
  string.upper()转换 string 中的小写字母为大写

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-549055-1-1.html 上篇帖子: libsvm的python接口在linux下的安装 下篇帖子: Python: 其他之python牛人的技术博客
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表