首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >python入门与实战--字符串

python入门与实战--字符串

作者头像
用户9875047
发布2022-07-04 14:10:47
发布2022-07-04 14:10:47
4310
举报
文章被收录于专栏:机器视觉全栈er机器视觉全栈er

3 字符串

字符串在python中经常会出现,可用单引号、双引号或三引号来创建字符串,字符串创建比较简单,用引号创建即可。

3.1 访问字符串

访问字符串的时候,常常会访问字符串某个位置或者字符串的子集(回想下数学中子集的概念),标准方法如下:

  1. 1. 某个位置的索引:

variable_name[idx]

  1. 2. 字符串子集的索引:

variable_name[索引开始:索引结束+1]

注意:上述中括号中的冒号前指的是字符串开始的索引,冒号后指的是字符串结束的索引+1 例如,字符串"www.cvtutorials.com"中,如果我们想访问"cvtutorials",那么输入如下代码:

代码语言:javascript
复制
cvtutorials = "www.cvtutorials.com"
cvtutorials[4:15]

c的索引是4(注意索引是从0开始),s的索引是14,所以需要加1,变为15。运行结果如下:

代码语言:javascript
复制
>>> cvtutorials = "www.cvtutorials.com"
>>> cvtutorials[4:15]
'cvtutorials'

3.2 字符串拼接

字符串拼接就是将两个字符串连接起来,如字符串"cvtutorials"".com"两个字符串连接起来就是"cvtutorials.com",最简单的实现方式就是直接相加,代码如下所示:

代码语言:javascript
复制
"cvtutorials" + ".com"

运行结果如下所示:

代码语言:javascript
复制
>>> "cvtutorials" + ".com"
'cvtutorials.com'

python也内置了一个东西,.join()用来拼接字符串,代码如下所示:

代码语言:javascript
复制
>>> domain_ele = ["cvtutorials", ".com"]
>>> "".join(domain_ele)
'cvtutorials.com'

a.join(b)表示将b中的每个元素之间用a连接起来,上面代码中,a即是“”,b即是domain_ele

3.3 转义字符

在打印字符串的时候,有时候我们会碰到一种情况,比如输出一个字符串:“My domain name is "www.cvtutorials.com"” 如果直接输入并运行,会报错:

代码语言:javascript
复制
>>> "My domain name is "cvtutorials.com""
  File "<stdin>", line 1
    "My domain name is "cvtutorials.com""
                       ^
SyntaxError: invalid syntax

其实,我们是想输出一个双引号的,可是双引号在python语法中也有表示字符串开始和结束的意思,编译器无法智能判断你的意思,所以我们需要告诉编译器哪个是我们想输出的双引号,我们可以通过转义字符\来实现。

转义字符就是用反斜杠将某些字符转换成其他的意思,比如前面的目的就可以这样来实现:

代码语言:javascript
复制
>>> "My domain name is \"cvtutorials.com\""
'My domain name is "cvtutorials.com"'

这种和转义字符搭配使用的方法,常见的还有:\'(转义为原始单引号), \n(转义为换行符), \t(转义为横向制表符)

3.4 内置字符串处理方法

python中内置了很多字符串处理方法,可以方便我们快速对字符串进行一些操作。这些字符串处理方法大致可以分为判断类、大小写类、处理类、查询类等。不过,在此之前,让我们先来看看一个最为基本的字符串方法len(),len是length的简写,可以用来获取字符串的长度:

代码语言:javascript
复制
>>> a = "cvtutorials.com"
>>> len(a)
15

3.4.1 字符串判断类

string.isalnum():isalnum是is alpha or number的简写,判断是否全为字母或数字

代码语言:javascript
复制
>>> "cvtutorials23com".isalnum()
True
>>> "cvtutorials.com".isalnum()
False

string.isalpha():判断字符串是否全字母

代码语言:javascript
复制
>>> "cvtutorialscom".isalpha()
True
>>> "cvtutorials.com".isalpha()
False

string.isnum():判断字符串是否全数字

代码语言:javascript
复制
>>> "123342".isdigit()
True
>>> "cvtutorials.com".isdigit()
False

string.islower():判断字符串是否全小写

代码语言:javascript
复制
>>> "cvtutorials.com".islower()
True
>>> "cvtutorials.COM".islower()
False

string.isupper():判断字符串是否全大写

代码语言:javascript
复制
>>> "CVTUTORIALS.COM".isupper()
True
>>> "cvtutorials.COM".isupper()
False

string.startwith():判断字符串是否以某个字符开头

代码语言:javascript
复制
>>> "cvtutorials".startswith("cv")
True

string.endwith():判断字符串是否以某个字符结束

代码语言:javascript
复制
>>> "cvtutorials".endswith("tutorials")
True

3.4.2 字符串大小写类

string.capitalize():capitalize这个方法将字符串首字母变成大写

代码语言:javascript
复制
>>> "cvtutorials.com".capitalize()
'Cvtutorials.com'

string.title():将字符串首字母变成大写

代码语言:javascript
复制
>>> "cvtutorials.com".title()
'Cvtutorials.Com'

capitalize()方法只有第一个单词的字母大写,而title()会将每个单词大写。

string.upper():这个方法将字符串字母变成大写

代码语言:javascript
复制
>>> "cvtutorials".upper()
'CVTUTORIALS'

string.lower():这个方法将字符串字母变成小写

代码语言:javascript
复制
>>> "cvtutoRIALS".lower()
'cvtutorials'

string.swapcase():这个方法将字符串大小写字母翻转

代码语言:javascript
复制
>>> "cvtutorials.COM".swapcase()
'CVTUTORIALS.com'

3.4.3 字符串处理类

string.lstrip():删去字符串左边空格lstrip

代码语言:javascript
复制
>>> "    cvtutorials   ".lstrip()
'cvtutorials   '

string.rstrip():删去字符串右边空格rstrip

代码语言:javascript
复制
>>> "    cvtutorials   ".rstrip()
'    cvtutorials'

string.strip():字符串去掉两边空格strip

代码语言:javascript
复制
>>> "    cvtutorials   ".strip()
'cvtutorials'

string.split():字符串分割方法,通过指定分隔符对字符串进行分割,也可以指定分割为几个子字符串,如:

代码语言:javascript
复制
>>> "www.cvtutorials.com".split(".", 2)
['www', 'cvtutorials', 'com']
>>> "www.cvtutorials.com".split(".", 1)
['www', 'cvtutorials.com']

小括号中的“”里面是分隔符,这里是点。小括号里面有个数字,可以理解为分割的次数。第一行代码的意思就是使用分隔符.将"www.cvtutorials.com"这个字符串分割2次,下一行就是分割后的结果

string.zfill(width):如果string的长度大于等于width,那么返回string本身,如果string长度小于width,这个方法会返回指定长度width的字符串,并且前面填充为0,如:

代码语言:javascript
复制
>>> "cvtutorials".zfill(20)
'000000000cvtutorials'
>>> "cvtutorials".zfill(3)
'cvtutorials'

3.4.4 字符串查询类

string.find(sub_string):从string中找到sub_string的开始的索引

代码语言:javascript
复制
>>> "cvtutorials".find("tutorials")
2

python中索引下标值从0开始

string.index:返回子字符串的开始索引

代码语言:javascript
复制
>>> "cvtutorials".index("tutorials")
2

string.count:返回字符串

代码语言:javascript
复制
>>> "cvtutorials".count("t")
2不断

3.5 一点反思

在本章中,我们在运行代码的时候,常常要输入长长的字符串,而且每次都一样,用掉了大量时间,效率有点低下:p,这时候我们突然想起前面的前面的变量,哦吼。

代码语言:javascript
复制
>>> a = "cvtutorials.com"
>>> a.isalnum()
False
>>> a.isdigit()
False

只需要输入一个a就达到同样的效果,是不是舒服很多:p

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器视觉全栈er 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3 字符串
    • 3.1 访问字符串
    • 3.2 字符串拼接
    • 3.3 转义字符
    • 3.4 内置字符串处理方法
      • 3.4.1 字符串判断类
      • 3.4.2 字符串大小写类
      • 3.4.3 字符串处理类
      • 3.4.4 字符串查询类
    • 3.5 一点反思
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档