[Python] 字符串类型及其 *** 作

[Python] 字符串类型及其 *** 作,第1张

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

字符串类型的表示

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Python 字符串也提供区间访问方式,采用 [N: M] 格式,表示字符串中从 N 到 M (不包含M) 的子字符串,其中,N 和 M 为字符串的索引序号,可以混合使用正向递增序号和反向递减序号。如果表示中 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垂直制表。
NULL,什么都不做。

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

内置的字符串处理函数

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

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

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

12

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

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

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

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

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

1 + 1 = 2 ✔

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

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

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

(hex(255))print

0xff

(oct(-255))方法

-0o377

内置的字符串处理方法

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

print
描述str.lower()
返回字符串 str 的副本,全部字符小写str.upper()
返回字符串 str 的副本,全部字符大写str.islower()
当 str 所有字符都是小写时,返回 True,否则返回 Falsestr.isprintable()
当 str 所有字符都是可打印的,返回 True,否则返回 Falsestr.isnumeric()
当 str 所有字符都是数字时,返回 Tue否则返回 Falsestr.isspace()
当 str 所有字符都是空格,返回 True,否则返回 Falsestt. endswith(suffix[,start[,end]])
str[start: end] 以 suffix 结尾返回 True,否则返回 Falsestr.startswith(prefix[, start[, end]])
str[start: end] 以 prefix 开始返回 True,否则返回 Falsestr.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 给出,则前 count 次 old 出现被替换str.center(width[, fillchar])
字符串居中函数,详见函数定义str.strip([chars])
返回字符串 str 的副本,在其左侧和右侧去掉 chars 中列出的字符str.zfill(width)
返回字符串 str 的副本,长度为 width,不足部分在左侧添 0str. 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。该方法主要用于格式化数字形字符串中。

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

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

("PYTHON".(center40,'*'))PYTHON

print

("123".(zfill40))print

0000000000000000000000000000000000000123

("-123".(zfill40))

-000000000000000000000000000000000000123

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/790061.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-05
下一篇2022-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存