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

字符串

由0个或多个字符组成的有序字符序列

  • 字符串是字符的有序序列,可以对其中的字符进行索引
    “智”是“智慧女孩千万不要秃头”的第0个字符

字符串有2类共四种表示方式

  1. 由一对单引号或双引号表示,仅表示单行字符串
    "Python" 或者 'A'
  2. 由一对三单引号或三双引号表示,可表示多行字符串
    '''Python
    语言'''
    作用可当作注释

如何在字符串中实现单引号与双引号的使用

'这里有个双引号(")' 或者 "这里有个单引号(')"
'''这里既有单引号(')也有双引号(")'''

字符串的正向递增序号反向递减序号

在这里插入图片描述

字符串的使用

  • 索引
    返回字符串中单个字符 <字符串>[M]
  • 切片
    返回字符串中的一段字符子串 <字符串>[0:-1]
    "智慧女孩千万不要秃头"[4:] 结果是 "千万不要秃头"
    "智慧女孩千万不要秃头"[:4] 结果是 "智慧女孩"
    <字符串>[M:N:K] 根据步长K对字符串切片
    "智慧女孩千万不要秃头"[1:8:2] 结果是 "慧孩万要"

如何让一个字符串逆序
"智慧女孩千万不要秃头"[::-1] 结果是 "头秃要不万千孩女慧智"
步长为-1指的是从后向前逐一地取出

字符串的特殊字符

  • 转义符
    表达特定字符的本意
    "这里有个双引号(\")" 结果为 这里有个双引号(")
    转义符形成一些组合,表达一些不可打印的含义
    "\b" 回退 (光标向前回退一个位置)
    "\n" 换行(光标移动到下行首)
    "\r" 回车(光标移动到本行首)

字符串操作符

操作符及使用 描述
x+y 连接两个字符串x和y
n*x 复制n次字符串x
x in s 如果x是s的子串,返回True,否则返回False

获取星期字符串
输入:1-7的整数,表示星期几
输出:输入整数对应的星期字符串
例如:输入 3,输出 星期三

#WeekNamePrint1.py
Template="星期一星期二星期三星期四星期五星期六星期日"
num=eval(input("请输入星期数字(1-7):))
pos=(num-1)*3
print(Template[pos:pos+3])
#WeekNamePrint2.py
Template="一二三四五六日"
num=eval(input())
print("星期"+Template[num-1])

字符串处理函数

一些以函数形式提供的字符串处理功能

函数及使用 描述
len(x) 长度,返回字符串x的长度
str(x) 任意类型x所对应的字符串形式 str(1.23 )结果为 "1.23"
hex(x)或oct(x) 整数x的十六进制或八进制小写形式字符串 hex(425)结果为"0x1a9" oct(425)结果为"0o651"
chr(u) u为Unicode编码,返回其对应的字符
ord(x) x为字符,返回其对应的Unicode编码
  • Unicode编码
    Python字符串的编码形式
    统一字符编码,即覆盖几乎所有字符的编码方式,从0到1114111(0x10FFFF)空间,每个编码对应一个字符,Python字符串中每个字符都是Unicode编码字符。

例如:
输入:
在这里插入图片描述
输出:
在这里插入图片描述
可见10004所对应的字符就是 “√”

十二星座符号输出

for i in range (12):
	print(chr(9800+i),end="")#end=""使输出的每一行不需要进行换行处理

输出:
在这里插入图片描述

字符串的处理方法

"方法"特指 < a >.< b >()风格中的函数< b >(),这恰恰也是面向对象的一种使用风格,< a >是对象,< b >是某一个对象能够提供的功能。

方法及使用 描述
str.lower() str.upper() 返回字符串的副本,全部字符小写/大写 "AbCd".lower()结果为 "abcd"
str.split(sep=None) 返回一个列表,由str根据sep被分隔的部分组成 "A,B,C".split(",")结果为 ['A','B','C']
str.count(sub) 返回子串sub在str中出现的次数 "an apple a day".count("a")结果为4
str.replace(old,new) 返回字符串str副本,所有old子串被替换为new "智慧女孩秃头".replace("秃头","不要秃头")结果为 "智慧女孩不要秃头"
str.center(width,[fillchar]) 字符串str根据宽度width居中,fillchar可选 "智慧女孩".center(20,"-")结果为 --------智慧女孩--------
str.strip(chars) 从str中去掉在其左侧和右侧chars中列出的字符 "= python =".strip(" =np")结果为"ython"
str.join(iter) 在iter变量除最后元素外每个元素后增加一个str",".join("12345")结果为"1,2,3,4,5"#主要用于字符串分隔等

字符串类型的格式化.format()

格式化是对字符串进行格式表达的方式

  • 字符串格式化使用.format()方法,用法如下:
    <模板字符串>.format(<逗号分隔的参数>)
  • format()方法的格式控制
< 填充 > < 对齐 > < 宽度 >
引导符号 用于填充的单个字符 <左对齐 >右对齐 ^居中对齐 槽设定的输出宽度

例如:
"{0:-^20}".format("PYTHON")结果为:
'-------PYTHON-------'
"{0:*>20}".format("BIT")结果为:
'*****************BIT'
"{:10}".format("BIT")结果为:
'BIT '# 默认情况下填充为空格,变量左对齐

< ,> < .精度 > < 类型 >
数字的千位分隔符 浮点数小数精度或字符串最大输出长度 整数类型b,c,d,o,x,X 浮点数类型e,E,f,%

例如:
"{0:,.2f}".format(12345.6789)结果为:
'12,345.68'

print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425))

结果为:
在这里插入图片描述
看得出我们以 :b输出它的二进制格式,以:c输出字符形式,以:d输出十进制,:o八进制,:x十六进制,:X大写的十六进制

print("{0:e},{0:E},{0:f},{0:%}".format(3.14))

结果为:
在这里插入图片描述
得出以 :e输出的是采用科学计数法e形式来表示浮点数,:E使用科学计数法E形式表示浮点数,:f以通常的非科学计数法形式表示浮点数,:%以百分数形式表示浮点数

发布了20 篇原创文章 · 获赞 38 · 访问量 915

猜你喜欢

转载自blog.csdn.net/weixin_45506775/article/details/104252572