【Python学习笔记】字符串操作

时间:2022-09-21 08:13:36
  
字符串的表示

python中的字符串是一个常量,可以使用单引号'',双引号""或三引号""" """来创建一个字符串常量.,如下:
s1='Hello world!'
s2="Hello world!"
s3="""
Hello world!
I am Chinese! I love my country!
"""
     
为什么python要提供这三种形式的字符串呢?主要考虑以下方面:
1. 字符串多行的需要。""" """三引号形式的字符串可以跨行表示字符串,两个三引号之间的所有文本都被视为字符串的内容,而单引号''和“”只能表示单行的字符串。
2. 字符串字面值的表示。“” 和‘’的字符串可以使用‘\’来进行转移,而三引号字符串中的’\‘转义符则不起作用,所有包含在三引号中的字符串将保持字面值,不会进行转义。
3. 字符串嵌套的需要。如果单独只使用双引号(单引号)来表示字符串,则遇到字符串里面又包含一个双引号(单引号)的字符串的情况时无法正确表达,如“Hell0 "%s" ”则会被认为“Hell0 "即为一个字符串,这不是我们想要的。而如果我们混合使用单双引号来表示的话,则没有不出出现这种问题,如“Helo ‘%s’ ”.
4. 还有一点可能就是便利性了。单引号相对于双引号不需要shift键即可打出,相对来说还是可以省点时间。
 
Unicode字符串

     Python中的字符串根据编码方式分为两种:普通字符串和Unicode字符串,Unicode字符串只是在字符串前加前缀字母u,如:
          普通字符串: s1 = 'Hello world!'
Unicode字符串 s1 = u'Hello world'
  普通字符串就是8位的ASIIC字符串,而Unicode字符串是Unicode编码的字符串。注意在Python3中不需要加前缀字母u,因为Python3中的所有字符串都已经是Unicode编码。
  注意:Python不支持单字符,所以在C语言中的char在Python中不存在。单字符在Python中也是个字符串。
 
字符串的序列操作

    python的字符串类型是python的序列类型之一,所以python的字符串支持所有的序列类型操作, 假设下表中的s=‘Hello world'
      
Python 序列类型操作
操作 结果 实例
x in s
字符串s包含x返回True,否则返回False
"e" in s输出:True
x not in s
字符串s不包含x返回False,否则返回True
"A" in s输出:True
s + t
连接字符串s和t
s+",look"输出:“Hello world,look"
s * n, n * s
复制n个s然后连接
s*2输出:”Hello worldHello world“
s[i]
字符串s的第i个字符
s[1]输出:”e“
s[i:j]
字符串s的i到j的切片
s[0:2]输出:”He“
s[i:j:k]
字符串s的i到j的步长为k的切片
s[0:10:2]输出:”Hlowr“
len(s)
返回字符串s的长度
len(s)输出:11
min(s)
字符串s中字符值最小的字符
min(s)输出:” “
max(s)
字符串s中字符值最大的字符
max(s)输出:”w“
s.index(x)
s中字符x的索引
s.index("o")输出:4
s.count(x)
 s中x出现的次数

s.count("l")输出:3

 
字符串的内建函数

  Python的字符串包含很多内建函数,同时Python的标准库中还有一个string模块。如果你查看string模块的源码你会发现,string模块中对于字符串的大多数操作只是对于字符串内建函数一种封装。Python字符串的所有内建函数都支持对Unicode字符串的操作,如果所操作的字符串是Unicode,则处理后返回的字符串还是Unicode。
Python字符串支持的内建函数如下:
 
 
 
 
 
 

【Python学习笔记】字符串操作的更多相关文章

  1. python 学习笔记 redis操作

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  2. Python学习笔记-字符串

    Python之使用字符串 1.所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,最大值)对字符串同样适用.但是字符串都是不可变的. 2.字符串格式化使用字符串格式化操作符即%. f ...

  3. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  4. python学习笔记——字符串

    类方法string.upper(str)需要引入string模块,实例方法str.upper()不需要引入string模块 无与伦比的列表解析功能 # coding=utf-8 # 列表解析 prin ...

  5. Python学习笔记-字符串与注释

    OSX从Pthon 2.7升级到3.8 1,官网下载最新安装包安装 2,执行认证文件command 3,执行设置path command 4,设置默认python 在terminal里运行open   ...

  6. [Python学习笔记] 字符串类型及操作

    字符串处理 索引:返回字符串中单个字符 <字符串>[M] 切片:返回字符串中一段字符子串 <字符串>[M:N:K] 字符串格式化使用.format()方法

  7. Python学习笔记——文件操作

    python中,一切皆对象.   一.文件操作流程 (1)打开文件,得到一个文件句柄(对象),赋给一个对象: (2)通过文件句柄对文件进行操作: (3)关闭文件. 文件对象f通过open()函数来创建 ...

  8. 03 python学习笔记-文件操作(三)

    本文内容主要包括以下方面: 1. 文件操作基本认识2. 只读(r, rb)3. 只写(w, wb)4. 追加(a, ab)5. r+读写6. w+写读7. a+写读(追加写读)8. 文件的修改 一.文 ...

  9. python学习笔记:操作数据库

    1.下载安装模块 第一种:cmd下:执行命令下载安装:pip3 install pymysql 第二种:IDE下pycharm python环境路径下添加模块 2.连接数据库 import pymys ...

  10. python学习笔记——列表操作

    python列表操作——增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] ...

随机推荐

  1. 【51Nod 1244】莫比乌斯函数之和

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1244 模板题... 杜教筛和基于质因子分解的筛法都写了一下模板. 杜教筛 ...

  2. GGXX的卡通渲染实现 真的好变态&period;&period;&period;&period;&period;&period;

    最近在youtube上看了GDC,学了很多东西,最让我震撼的就是ggxx的卡通渲染了.感慨一下,想要用3D做出二次元的效果,真的不容易.现记录一些要点: 1)不要使用normal map来做cel-s ...

  3. 如何让代码实现C&plus;&plus;

    其实本来就知道 但是主要突然忘了去怎样实现C++代码  ,所以写个笔记记忆一下 让代码实现C++ 只需要修改.m文件为 .mm  就可以了  突然是不是很像打脸. 不过希望能给不知道的小伙伴一点帮助哦 ...

  4. Oracle、Mysql、Sql Server语句的区别

    1.空值的处理——判断是否为空,为空时取一个值,不为空时取另一个值 1).Sql Server 中 ISNULL(check_expression,replacement_value) 解释:如果ch ...

  5. 50道经典的JAVA编程题&lpar;46-50&rpar;

    50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...

  6. mysql加入�管理员

    1.首先用超级管理员登录,然后点击权限button 2.点击加入�新用户,填写登录名和password,全局权限不用选,点击新建用户button 3.编辑新加入�的用户(编辑权限) 4.找到&quot ...

  7. 利用sqlclr实现数据库服务器端数据加密解密

    在公司中一同事用sqlclr写数据迁移自动化执行脚本,发现他在执行脚本时对数据进行了加密. 个人觉得利用sqlclr对数据进行加密是一个解决数据网络安全传输的不错的方案. 以下是一个小的案例: --- ...

  8. Primes on Interval

    AC代码: #include <cstdio> #include <cstring> #include <iostream> #include <algori ...

  9. 机器学习基石:10 Logistic Regression

    线性分类中的是非题------>概率题, 设置概率阈值后,大于等于该值的为O,小于改值的为X.------>逻辑回归. O为1,X为0: 逻辑回归假设: 逻辑函数/S型函数:光滑,单调, ...

  10. &lbrack;error&rsqb; - Build path is incomplete&period; Cannot find class file for org&sol;aspectj&sol;weaver&sol;refl

    将本地仓库中mybatis 的jar 包删除,然后在eclipse 中右键工程选中 Maven->upgrade ..