文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python——— 字符串

2023-09-02 18:18

关注

(一)字符串

    字符串是 Python 中最常用的数据类型。我们可以使用引号 ( ' 或 " ) 来创建字符串。顾名思义,羊肉串是由羊肉做成的串,而字符串就是由字符组成的。   字符串的本质是:字符序列。

2     Python 不支持单字符类型,单字符也是作为一个字符串使用的。创建字符串很简单,只要为变量分配一个值即可。例如:
var1 = 'Hello World!'var2 = "Python"
    Python 的字符串是不可变的,我们无法对原字符串做任何修改。但可以将字符串的一部分复制到新创建的字符串,达到 “看起来修改 的效果。

(二)字符串的编码

   Python3 直接支持 Unicode ,可以表示世界上任何书面语言的字 符。Python3 的字符默认就是 16 Unicode 编码,ASCII码是 Unicode编码的子集。

转换技巧: 

使用内置函数ord()可以把字符转换成对应的Unicode码; 使用内置函数chr()可以把十进制数字转换成对应的字符;

 

print(ord('A')) #65print(ord('成')) #25104print(chr(66)) #'B'print(ord('龙') )#40857

(三)引号创建字符串

   我们可以通过  ①单引号或双引号创建字符串。例如: a='abc' b="sxt" 使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。例如:
a = "I'm a teacher!"print(a) #I'm a teacher!b = 'my_name is "Jackie Chan"'print(b) #my_name is "Jackie Chan"
   ②  连续三个单引号或三个双引号,可以帮助我们创建多行字符串。在 长字符串中会保留原始的格式。例如:

(四)空字符串和len()函数

   Python 允许空字符串的存在,不包含任何字符且长度为 0 。例如:

 

c = ''print(len(c)) #结果:0
  其中,len() 用于计算字符串含有多少字符。 

(五)转义字符

     我们可以使用 \+特殊字符 ,实现某些难以用字符表示的效果。比如:换行等。常见的转义字符有这些:
转义字符描述
\(在行尾时)续行符
\\反斜杠符号
\'单引号
\"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
\xyy十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出
【操作】测试转义字符的使用

代码

a = 'I\nlove\bU'print(a)print('a\rabb\\cc')

 

(六)Python字符串运算符

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

操作符描述实例
+字符串连接

>>>a + b 'HelloPython'

*重复输出字符串

>>>a * 2 'HelloHello'

[]通过索引获取字符串中字符

>>>a[1] 'e'

[ : ]截取字符串中的一部分

>>>a[1:4] 'ell'

in成员运算符 - 如果字符串中包含给定的字符返回 True

>>>"H" in a True

not in成员运算符 - 如果字符串中不包含给定的字符返回 True

>>>"M" not in a True

r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。

>>>print r'\n' \n >>> print R'\n' \n

%格式字符串请看下一章节

 具体代码

a = "Hello"b = "Python"print("a + b 输出结果:", a + b)print("a * 2 输出结果:", a * 2)print("a[1] 输出结果:", a[1])print("a[1:4] 输出结果:", a[1:4])if ("H" in a):    print( "H 在变量 a 中")else:    print( "H 不在变量 a 中")if ("M" not in a):    print("M 不在变量 a 中")else:    print("M 在变量 a 中")print(r'\n')print(R'\n')

运行效果:

字符串拼接 :可以使用 + 将多个字符串拼接起来。例如: ’aa’+ ’bb’ 结果 是 ’aabb’

 可以将多个字面字符串直接放到一起实现拼接。例如: ’aa’’bb’ 结果是 ’aabb’

 

a = 'sxt'+'qiqi'   #结果是:'sxtqiqi'b = 'sxt''qiqi'     #结果是:'sxtqiqi'

(七)字符串切片slice操作

 

 切片 slice 操作可以让我们快速的提取子字符串。标准格式为:
   [起始偏移量start:终止偏移量end:步长step]

 

典型操作(三个量为正数的情况)如下:
操作和说明示例结果
[:] 提取整个字符串“abcdef”[:]“abcdef”
[start:] start索引开始到结尾“abcdef”[2:]“cdef”
[:end] 从头开始知道end-1“abcdef”[:2]“ab”
[start:end] startend-1“abcdef”[2:4]“cd”
[start:end:step] start提取到end-1,步长是step“abcdef”[1:5:2]“bd”
其他操作(三个量为负数)的情况
示例说明结果
"abcdefghijklmnopqrstuvwxyz" [-3:] 倒数三个“xyz”
"abcdefghijklmnopqrstuvwxyz" [-8:-3] 倒数第八个到倒数第三个( 包头不包尾 ) 'stuvw'
"abcdefghijklmnopqrstuvwxyz" [::-1] 步长为负,从右到左反向提取 'zyxwvutsrqponmlkjihgfedcba'

注意:切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做0,终止偏移量大于长度-1”会被当成-1。例如:

 

 

(八)split()分割和join()合并

      split() 可以基于指定分隔符将字符串分隔成多个子字符串 ( 存储到列 表中) 。如果不指定分隔符,则默认使用空白字符 ( 换行符 / 空格 / 制表符) 。示例代码如下:
a = "to be or not to be"print(a.split())print(a.split('be'))
运行效果: join() 的作用和 split() 作用刚好相反,用于将一系列子字符串连接起 来。示例代码如下:
a = ['sxt','sxt100','sxt200']print('*'.join(a))

运行效果: 

总结:

拼接字符串要点:       使用字符串拼接符 + ,会生成新的字符串对象,因此不推荐使 用 + 来拼接字符串。推荐使用 join 函数,因为 join 函数在拼接字 符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。

 

 

(九) 字符串常用方法汇总

       字符串有很多常用的方法,我们需要熟悉。我们通过表格将这些方 法汇总起来,方便大家查阅。希望大家针对每个方法都做一次测试。

 

我们以一段文本作为测试:  
a='''ablchbjj '''
常用查找方法
方法和使用示例说明结果
len(a)字符串长度8
a.startswith('abl')以指定字符串开头True
a.endswith('jj')以指定字符串结尾True
a.find('b')第一次出现指定字符串的位置1
a.rfind('b')最后一次出现指定字符串的位置5
a.count("lch")指定字符串出现了几次1
a.isalnum()所有字符全是字母或数字True
 

来源地址:https://blog.csdn.net/qq_63976098/article/details/131506481

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯