Python初学4——字符串类型及操作

一、字符串

1.1 字符串的四种表示方法( 单引号、双引号、三单引号、三双引号,转义符 )

  1. 一对单引号
    '你好,Python'		# 仅可表示单行字符串
    
  2. 一对双引号
    "你好,Python"		# 仅可表示单行字符串
    
  3. 一对三单引号(可以当作多行注释使用
    '''你好,
    		Python'''	# 可以表示多行字符串
    
  4. 一对三双引号
    """你好,
    		Python"""	# 可以表示多行字符串
    
    ————————————————————————————————————————————————————————————
    字符串表示的特殊情况:
    ①当双引号作为字符出现在字符串中时,字符串用单引号表示。
    '小明说:"我每天8:00上课"。'
    
    ②当单引号作为字符出现在字符串中时,字符串用双引号表示。
    "He says:'how about going lunch?'"
    
    ③当单引号、双引号都作为字符出现在字符串中时,字符串用三单引号表示。
    '''小明说:"昨天玲玲说'我每天8:00上课'"。'''
    
  5. 特殊字符——转义符 \
    • 转义符用来表达特殊字符的本意。

      "小明说:\"昨天玲玲说\'我每天8:00上课\'\"。"
      
    • 转义符形成的特殊组合,表达某些不可打印的含义。

        \b				回退
        \n				换行(光标移到下行首)
        \r				回车(光标移到本行首)
      

1.2 字符串的序号( 正向递增序号、反向递减序号 )

字符串的序号有两种:正向递增序号(字符串第一个字符为0号,向后序号依次递增)、反向递减序号(字符串最后一个字符为-1号,向前序号依次递减)

#正向递增序号:0、1、2、3、4、5、6、7、8、9、10、11 
				"请输入带有符号的温度值:"
#反向递减序号:-12、-11、-10、-9、-8、-7、-6、-5、-4、-3、-2、-1

1.3 字符串的使用( [M]索引、[M:N]切片、[M:N:K]高级切片 )

使用[ ]获取字符串中的一个(称作索引)或多个字符(称作切片)。
例如:

"请输入带有符号的温度值:"[0]		# 索引到字符 请

Str = "请输入带有符号的温度值:"
Str[4]							# 索引到字符 有
"请输入带有符号的温度值:"[3:5]	# 切片到字符 带有

Str = "请输入带有符号的温度值:"
Str[6:-2]						# 切片到字符 号的温度
Str[:4]							# 切片到字符 请输入带
					# <字符串>[M:N]中的M省略表示从开头,N省略表示至结尾
Str[1:9:2]						# 切片到字符 输带符的
					# <字符串>[M:N:K]表示从第M位开始到第N位前结束,以步长为K来获得其中的字符(K是正数则从前向后取,是负数则从后向前取)
Str[::-1]						# 切片到字符 :值度温的号符有带入输请

实例举例:

''' 获取星期字符串 '''
weekStr = "星期一星期二星期三星期四星期五星期六星期日"
weekId = eval(input("请输入星期数字(1-7):"))		# input()默认返回字符串类型,用eval()将字符串的引号去掉
pos = (weekId - 1) * 3
print(weekStr[pos: pos+3])							# 输出对应切片的字符串

二、字符串操作符( + 、* 、in )

字符串操作符及使用
x + y连接字符串 x 和字符串 y ,字符串 x 在前
n * x 或 x * n复制 n 次字符串 x
x in s如果字符串 x 是字符串 s 的子串,则返回 True,反之返回 False

上面的实例改进版:

''' 获取星期字符串 '''
weekStr = "一二三四五六日"
weekId = eval(input("请输入星期数字(1-7):"))		# input()默认返回字符串类型,用eval()将字符串的引号去掉
print("星期" + weekStr[weekId - 1])					# 输出对应切片的字符串

三、字符串处理函数( len()、str()、hex()、oct()、chr()、ord() )

字符串处理函数说明
len(x)求长度函数,返回字符串 x 的字符个数
str(x)将任意类型 x 写成字符串形式,返回一个字符串。str(2.33) 返回字符串 “2.33” ,str([1, 2]) 返回字符串 “[1, 2]”
hex(x)将整数 x 的十六进制小写形式写成字符串形式,返回一个字符串。hex(13) 返回字符串 “0x1101”
oct(x)将整数 x 的八进制小写形式写成字符串形式,返回一个字符串。oct(425) 返回字符串 “0o651”
chr(u)u 为 Unicode 编码,返回 u 对应的字符
ord(x)x 为字符,返回 x 对应的 Unicode 编码

Unicode编码:

  • Unicode编码是一种编码(这是一句废话),其编码空间从整数0至整数1114111(0x10FFFF),每个整数编码对应一个字符(包括人类所有的字符)。
  • Unicode编码是Python字符串的编码形式,在Python3中,所有的字符串所有的python代码全部都是采用Unicode编码形式来实现的。
    例如:
    在这里插入图片描述
    图3-1 chr() 和 ord() 函数举例使用
    在这里插入图片描述
    图3-2 chr() 函数举例输出十二星座
    图3-2的 print() 函数中的 end="\n\r" 决定每一次显示完要进行换行回车操作。若 end="" ,则所有结果都显示在同一行内。

四、字符串处理方法( str.lower()、str.upper()、str.spilt()、str.count()、str.replace()、str.center()、str.strip()、str.join() )

“方法”在编程中是一个专有名词!

●	“方法”特指 <a>.<b>() 风格中的函数<b>()
●	方法本身也是函数,但与 <a> 有关,以 <a>.<b>() 风格使用
●	字符串及变量是 <a> ,它们存在“方法”
●	<a>.<b>() 风格恰恰是面向对象的一种使用风格,<a> 是对象,<b>() 是对象能提供的功能(即方法)

Python中较常用的八个字符串处理方法

字符串处理方法及使用说明
str.lower()返回字符串的副本,全部字符小写。“AbCdefGh”.lower() 返回 “abcdefgh”
str.upper()返回字符串的副本,全部字符大写。“AbCdefGh”.upper() 返回 “ABCDEFGH”
str.spilt(sep = None)返回一个列表,列表由 str 根据 sep 被分割的部分组成。“A,b,C”.spilt(",") 返回 [‘A’, ‘b’, ‘C’]
str.count(sub)返回子串 sub 在 str 中出现的次数。“an apple a day”.count(“a”) 返回 4
str.replace(old, new)返回字符串的副本,所有 old 子串被替换成 new 。“Python”.replace(“h”, “3.io”) 返回 “Pyt3.ioon”
str.center(width[, fillchar])返回字符串的副本,字符串 str 根据宽度 width 居中,fillchar 填充在空缺位置。“Python”.center(23, “+”) 返回 “+++++++++Python++++++++”
str.strip(chars)返回字符串的副本,从字符串 str 中去掉在其左右侧 chars 中列出的字符。"= Python= “.strip(” =np") 返回 “ytho”
str.join(iter)返回字符串的副本,在字符串 iter 中除最后一个元素外,每一个元素后面增加一个str,用于字符串的分隔。",".join(“12345”) 返回 “1,2,3,4,5”

五、字符串类型的格式化

5.1 格式化方法( .format() 格式化方法 )

字符串格式化使用 .format() 方法,用法如下:

<模板字符串>.format(<逗号分隔的参数>)

涉及相关概念:“槽”,相当于一个占位信息符,用 {} 表示,只在字符串中有用。

''' 默认填槽顺序 '''{}:计算机{}的CPU占用率为{}%.format("2020-10-27", "DESKTOP-9LS08DJ", "68")
# 输出字符串 "2020-10-27:计算机DESKTOP-9LS08DJ的CPU占用率为68%"

''' 指定填槽顺序 '''{2}:计算机{0}的CPU占用率为{1}%.format("2020-10-27", "DESKTOP-9LS08DJ", "68")
# 输出字符串 "68:计算机2020-10-27的CPU占用率为DESKTOP-9LS08DJ%"

5.2 .format() 方法的格式控制( 填充、对齐、宽度、千位分隔符、精度、类型 )

槽内部格式化的配置方法:{<参数序号>:<格式控制标记>}
在这里插入图片描述
图5-1 槽内部配置方法
槽内部配置方法可大致分为两组:

  • 前三个(填充、对齐、宽度)为一组,针对字符串。
    在这里插入图片描述
    图5-2 .format() 格式方法举例1
    在这里插入图片描述
    图5-3 .format() 格式方法举例2
    在这里插入图片描述
    图5-4 .format() 格式方法举例3
  • 后三个为一组,针对数。
    在这里插入图片描述
    图5-5 .format() 格式方法举例4
    在这里插入图片描述
    图5-6 .format() 格式方法举例5
    在这里插入图片描述
    图5-7 .format() 格式方法举例6
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觅道無涯-千知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值