目录

  • 字符串类型的表示
  • 基本的字符串操作符
  • 内置的字符串处理函数
  • 内置的字符串处理方法

字符串类型的表示

字符串是字符的序列表示,可以由一对单引号(‘)、双引号(“)或三引号(”’)构成。

其中,单引号和双引号都可以表示单行字符串,两者作用相同。使用单引号时,双引号可以作为字符串的一部分;使用双引号时,单引号可以作为字符串的一部分。三引号可以表示单行或者多行字符串。

3 种表示方式如下:
单引号字符串:‘单引号表示,可以使用"双引号"作为字符串的一部分’
双引号字符串:“双引号表示,可以使用’单引号’作为字符串的一部分”
三引号字符串:“'三引号表示可以使用"双引号”
‘单引号’
也可以换行
"’

打印字符串的 Python 程序运行结果如下,注意其中的引号部分:

print('单引号表示可以使用"双引号"作为字符串的一部分')

单引号表示可以使用"双引号"作为字符串的一部分

print("双引号表示可以使用'单引号'作为字符串的一部分")

双引号表示可以使用’单引号’作为字符串的一部分

print('''三引号中可以使用"双引号"
'单引号'
也可以换行''')

三引号中可以使用"双引号"
‘单引号’
也可以换行

input() 函数将用户输入的内容当作一个字符串类型,这是获得用户输入的常用方式。print() 函数可以直接打印字符串,这是输出字符串的常用方式。如下例子展示了如何用变量 name 来存储用户的名字,再输出这个变量的内容:

name = input("请输入名字:")
print(name)

请输入名字:Python 语言
Python 语言

字符串包括两种序号体系:正向递增序号和反向递减序号。如果字符串长度为 L,正向递增需要以最左侧字符序号为 0,向右依次递增,最右侧字符序号为 L-1; 反向递减序号以最右侧字符序号为 -1,向左依次递减,最左侧字符序号为 -L。这两种索引字符的方法可以在一个表示中使用。

Python 字符串也提供区间访问方式,采用 [N: M] 格式,表示字符串中从 NM (不包含M) 的子字符串,其中,NM 为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如果表示中 M 或者 N 索引缺失,则表示字符串把开始或结束索引值设为默认值。

字符串以 Unicode 编码存储,因此,字符串的英文字符和中文字符都算作 1 个字符。

实例:

name = "Python语言程序设计"
print(name[0])print(name[0],name[7],name[-1])print(name[2:-4])print(name[:6])print(name[6:])print(name[:])

运算结果:

name = "Python语言程序设计"
print(name[0])

P

print(name[0],name[7],name[-1])

P 言 计

print(name[2:-4])

thon语言

print(name[:6])

Python

print(name[6:])

语言程序设计

print(name[:])

Python语言程序设计

反斜杠字符(\)是一个特殊字符,在字符串中表示转义,即该字符与后面相邻的一个字符共同组成了新的含义。例如,\n 表示换行,\\ 表示反斜杠,\’ 表示单引号,\" 表示双引号,\t 表示制表符(Tab)等。例如:

print("Python\n语言\t程序\t设计")

Python
语言 程序 设计

基本的字符串操作符

Python 提供了5个字符串的基本操作符

操作符 描述
x + y 连接两个字符串x与y
x * n 或 n * X 复制n次字符串x
XinS 如果x是s的子串,返回True,否则返回False
str[i] 索引,返回第i个字符
str[N: M] 切片,返回索引第N到第M的子串,其中不包含M
name = "Python 语言" + "程序设计" + "基础"print(name)
print("Python 语言" in name)
print("Y" in "Python 语言")

Python 语言程序设计基础
True
False

print("GOAL! " * 3)

GOAL! GOAL! GOAL!

拓展:特殊的格式化控制字符

字符串中可以增加特殊的格式化控制字符,用来输出特殊效果。特殊的格式化控制字符使用反斜杠 (\) 开头,常用控制字符如下:

控制字符 效果
\a 蜂鸣,响铃
\b 回退,向后退一格。
\f 换页。
\n 换行,光标移动到下行首行。
\r 回车,光标移动到本行首行。
\t 水平制表。
\v 垂直制表。
\0 NULL,什么都不做。

需要注意的是,IDLE 开发环境不支持部分特珠控制字符,比如 \b\r 等,使用这些控制符的程序需要编写代码保存为 py 文件,然后在命令行下执行。

内置的字符串处理函数

Python 解释器提供了一些内置函数。其中,有6个函数与字符串处理相关。

len(x) 返回字符串 x 的长度,Python3Unicode 字符为计数基础,因此,字符串中英文字符和中文字符都是 1 个长度单位。

length = len("Python语言程序设计")
print(length)

12

函数 描述
len(x) 返回字符串 x 的长度,也可返回其他组合数据类型元素个数
str(x) 返回任意类型 x 所对应的字符串形式
chr(x) 返回 Unicode 编码 x 对应的单字符
ord(x) 返回单字符表示的 Unicode 编码
hex(x) 返回整数 x 对应十六进制数的小写形式字符串
oct(x) 返回整数 x 对应八进制数的小写形式字符串

每个字符在计算机中可以表示为一一个数字,称为编码。字符串则以编码序列方式存储在计算机中。目前,计算机系统使用的一个重要编码是 ASCII 编码,该编码用数字 0~127 表示计算机键盘上的常见字符以及一些被称为控制代码的特殊值。例如,大写字母 A~Z65~90 表示,小写字母a~z97~122 表示。

ASCII 编码针对英语字符设计,它没有覆盖其他语言存在的更广泛字符,因此,现代计算机系统正逐步支持一个更大的编码标准 Unicode, 它支持几乎所有书写语言的字符。Python 字符串中每个字符都使用 Unicode 编码表示。

chr(x)ord(x) 函数用于在单字符和 Unicode 编码值之间进行转换。chr(x) 函数返回 Unicode 编码对应的字符,其中,Unicode 编码 x 的取值范围是 01 114 111 (即十六进制数 0x10FFFF)。ord(x) 函数返回单字符 x 对应的 Unicode 编码。例如:

print("1 + 1 = 2 " + chr(10004))

1 + 1 = 2 ✔

print("巨蟹座符号♋的 Unicode 值是:" + str(ord("♋")))

巨蟹座符号♋的 Unicode 值是:9803

hex(x)oct(x) 函数分别返回整数 x 对应十六进制和八进制值的字符串形式,字符串以小写形式表示。例如:

print(hex(255))

0xff

print(oct(-255))

-0o377

内置的字符串处理方法

Python 解释器内部,所有数据类型都采用面向对象方式实现,封装为一个类。字符串也是一个类, 它具有字符串处理函数。在面向对象中,这类函数被称为“方法”。字符串类型共包含 43 个内置方法。鉴于部分内置方法并不常用,这里仅介绍其中 16 个常用方法。

方法 描述
str.lower() 返回字符串 str 的副本,全部字符小写
str.upper() 返回字符串 str 的副本,全部字符大写
str.islower() str 所有字符都是小写时,返回 True,否则返回 False
str.isprintable() str 所有字符都是可打印的,返回 True,否则返回 False
str.isnumeric() str 所有字符都是数字时,返回 Tue否则返回 False
str.isspace() str 所有字符都是空格,返回 True,否则返回 False
stt. endswith(suffix[,start[,end]]) str[start: end]suffix 结尾返回 True,否则返回 False
str.startswith(prefix[, start[, end]]) str[start: end]prefix 开始返回 True,否则返回 False
str.split(sep=None, maxsplit=-1) 返回一个列表,由 str 根据 sep 被分隔的部分构成
str.count(sub[,start[,end]]) 返回 str[start: end]sub 子串出现的次数
str.replace(old, new[, count]) 返回字符串 str 的副本,所有 old 子串被替换为 new,如果 count 给出,则前 countold 出现被替换
str.center(width[, fillchar]) 字符串居中函数,详见函数定义
str.strip([chars]) 返回字符串 str 的副本,在其左侧和右侧去掉 chars 中列出的字符
str.zfill(width) 返回字符串 str 的副本,长度为 width,不足部分在左侧添 0
str. format( ) 返回字符串 str 的一种排版格式
str.join(iterable) 返回一个新字符串,由组合数据类型 iterable 变量的每个元素组成,元素间用 str 分隔

str.split(sep=None, maxsplit=-1) 方法返回一个列表, 列表是一种存储多个数据的数据类型(后面的内容),其中,分隔 str 的标识符是 sep ,默认分隔符为空格。maxsplit 参数为最大分割次数,默认 maxsplit 参数可以不给出。

str.center(width[, fillchar]) 方法返回长度为 width 的字符串,其中,str 处于新字符串中心位置,两侧新增字符采用 fillchar 填充,当 width 小于字符串长度时,返回 str

str.zfill(width) 方法返回长度为 width 的字符串,如果字符串长度不足 width,在左侧添加字符 “0”,但如果 str 最左侧是字符 “+” 或者 “-”,则从第二个字符左侧添加 “0”,当 width 小于字符串长度时,返回 str。该方法主要用于格式化数字形字符串中。

print("Python is an excellent language.".split())

[‘Python’, ‘is’, ‘an’, ‘excellent’, ‘language.’]

print("PYTHON".center(40,'*'))

PYTHON

print("123".zfill(40))

0000000000000000000000000000000000000123

print("-123".zfill(40))

-000000000000000000000000000000000000123

这次的分享就到这里了,继续加油哦^^

[Python] 字符串类型及其操作相关推荐

  1. Python字符串类型及操作总结

    1.字符串表示 两种类型四种表示 单行-一对单引号或一对双引号 "python" 'python' 多行-一对三单引号或一对三双引号 '''python''' "&quo ...

  2. Python字符串类型及操作

    1.字符串类型的表示 (一)字符串: 由0个或多个字符组成的有序字符序列. 字符串由一对单引号或一对双引号来表示,例如:"请输入带有符号的温度值","Python&quo ...

  3. 3.1 Python 字符串类型常用操作及内置方法

    文章目录 1. Str 字符串 1.1 字符串 1.2 反斜杠 1. 字符串跨行书写 2. 转义字符 1.3 打印引号 1. 错误示例 2. 解决方法 1.4 三引号 1.5 原始字符串 1. 正确示 ...

  4. Python字符串类型及操作(含实例)

    字符串 由0个或多个字符组成的有序字符序列 字符串是字符的有序序列,可以对其中的字符进行索引 "智"是"智慧女孩千万不要秃头"的第0个字符 字符串有2类共四种表 ...

  5. python如何输出整数逆序_python字符串类型及操作

    字符串索引&切片用法 Str[]对字符串进行索引,括号内为获取第几个元素 使用[M:N:K]根据步长对字符串切片 <字符串>[M:N]是可以缺失的,M缺失表示至开头,N缺失表示至结 ...

  6. Python 字符串类型 - 详细

    Python 字符串类型 Python 不支持单字符类型,一个字符在 Python 中,也是作为一个字符串使用. 一. 访问字符串的值 可以通过索引和切片来访问字符串的值 mystr = 'hello ...

  7. Python基础语法全体系 | 深入剖析字符串类型及其操作

    <Python基础语法全体系>系列博文第二篇,本篇博文将详细深入讲解Python的字符串类型.包括转义字符.字符串格式化.序列相关方法及常用操作:大小写.删除空白.查找与替换.分割与连接等 ...

  8. Python语言程序设计(嵩天老师版)第三周笔记——字符串类型及操作

    一.字符串类型的表示: 由0个或多个字符组成的有序字符序列 字符串有2类共4种表示方法:     1.字符串由一对单引号或一对双引号表示--仅表示单行字符串     2.由一对三引号或三双引号表示,可 ...

  9. python数字类型-Python数字类型及其操作

    数字类型 Python 语言提供了3种数字类型:整数.浮点数和复数. 布尔型 In addition, Booleans are a subtype of integers. 整数类型(int)与数学 ...

最新文章

  1. Sublime Text 安装插件的方法
  2. AI在这张“问卷”上首次超越人类,SuperGLUE被微软谷歌两家“攻破”
  3. 高手是如何定位内存问题的代码位置的
  4. 多个Google账户合并(共享)数据
  5. MySQL数据库:范式
  6. vant按需引入没样式_传统背景墙早看腻了,不如走一圈石膏线简单好看,8种样式随意选...
  7. 前端性能优化方面的知识
  8. 反射:类,构造器,方法使用
  9. 励志幽默:郭德纲经典语句
  10. Visio2019异步消息箭头线使用问题
  11. java开发工具排名_排名前16的Java工具类
  12. class6_scale尺度
  13. 数据结构上机实验之串子系统
  14. 双开助手多开分身版 v5.1.8
  15. 报表服务器组件,开发者手册概述:Power BI 报表服务器
  16. 使用Apriori算法寻找频繁样式(Frequent Patterns)
  17. 公司企业小程序怎么创建?
  18. sata学习5:常用的概率函数
  19. 接口基本知识 2016年12月24日
  20. win7 删除java_windows7系统卸载java的操作方法?

热门文章

  1. NLP常用损失函数代码实现——SoftMax/Contrastive/Triplet/Similarity
  2. 《Android Studio开发实战 从零基础到App上线(第3版)》资源下载和内容勘误
  3. ML之RL:基于MovieLens电影评分数据集利用强化学习算法(多臂老虎机+EpsilonGreedy策略)实现对用户进行Top电影推荐案例
  4. [冠军杯]巴塞罗那 2:1 AC米兰
  5. ubuntu下nagios配置
  6. Python利用Requests获取2TB大容量不限速小麦魔方网盘/小麦云盘(Own-Cloud.Cn)的文件直链并下载文件
  7. CSS半透明遮罩层 and 定位
  8. Session Setup Request,NTLMSSP_AUTH, User:Dmain\hostname$
  9. 用.net编写站内短信群发软件
  10. 输电线路缺陷绝缘子数据集(包括:缺损、放电、防震锤等)