IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 009-Python 常用数据类型操作-字符串类型 -> 正文阅读

[Python知识库]009-Python 常用数据类型操作-字符串类型

话不多说,上代码,看结果。


print('1、###########################################################')

# 字符串
# 非原始字符串  'asdf'
# 原始字符串    r'asdf'
# 二者区别主要是在转义符那
# 常见转义符
# \(在行尾时)续行符  \' 	单引号
# \" 双引号   \n 换行  \t 横向制表符
print('一对单引号')
print('''三对单引号''')
print("一对双引号")
print("""三对双引号""")
print('asdf\t1234')
print(r'asdf\t1234')
print('2、###########################################################')
# 单双引号混用可以避免使用引号转义符
# 引号配对是就近原则
# print('原子弹是个大'烟花'')  # 会报错
print('1、原子弹是个大\'烟花\'')
print("2、原子弹是个大'烟花'")
# 单双引号用于一行代码,跨行时:
# 用 连行符\    用小括号()
# 三引号可直接跨行,用于注释代码
juZi = "3、原子弹是\
个大'烟花'"
print(juZi)
juZi = ("4、原子弹是个大" 
"'烟花'")
print(juZi)
print('''123
456
789''')

print('3、字符串操作-拼接###########################################################')
# 字符串操作
# 字符串拼接 str1 + str2  str1str2  ”xxx%sxxx“%(a+b)  "xxx" * n
print('5、原子弹是个大' + '烟花')
print('6、原子弹是个大''烟花')
print('7、原子弹%s"烟花"' % '是个大')
print('我%s你' % ('爱' * 3))

print('4、字符串操作-切片###########################################################')
# 获取某一个字符    str[下标]
# 下标 字符串中每个字符的编号
# 注意下标越界   负数下标 如果为负数, 则会从尾部开始定位, 开始为-1
str = '0123456789'
print(str[0])
# print(str[10]) # IndexError: string index out of range
print(str[-1])

# 获取一个字符串的某个片段   str[起始:结束:步长]
# 获取范围  [起始, 结束)  默认起始为0,默认结束为len(str)(整个字符串长度), 默认步长为1
# 步长 > 0  从左边到右   步长 < 0   从右往左   不能从头部跳到尾部,不能从尾部跳到头部
str = '0123456789'
print(str[2:9:2])
print(str[2:len(str):2])
print(str[-1:-8: -2])
# print(str[0:8:-2])  # 不能从头部跳到尾部,
print(str[:: -1])  # 反转字符串

print('5、字符串操作-函数-查找###########################################################')
# 有的函数是内建函数,直接使用   有的函数属于对象方法 对象.方法(参数)
# 查找计算
# 计算字符串的字符个数   len(x)
str = '0123456789'
print('计算字符串的字符个数 len(x):', len(str))

# 查找子串索引位置 find(sub, start=0, end=len(str))
# sub 需要检索的字符串  start 检索起始位置默认为0  end结束位置,默认为len(str)
# 找到的话给出指定索引,未找到输出-1
# 这是从左到右查找,找到后立即停止
# rfind 参数一样,是从右到左查找
str = 'i want a new computer'
print('查找子串索引位置:', str.find('a', 1, 9))
print(str.find('a', 1, 4))
print(str.find('z'))  # 没找到
print(str.rfind('e'))

# 获取子串索引位置  index(sub, start=0, end=len(str))
# sub 需要检索的字符串  start 检索起始位置默认为0  end结束位置,默认为len(str)
# 找到的话给出指定索引,未找到报错
# 这是从左到右查找,找到后立即停止
# rindex 参数一样,是从右到左查找
str = 'i want a new computer'
print('获取子串索引位置:', str.index('want'))
# print('获取子串索引位置:', str.index('want1'))  # ValueError: substring not found
print(str.index('a'))
print(str.rindex('er'))
print(str.rindex('a'))

# 计算某个子字符串的出现个数  count(sub, start=0, end=len(str))
# sub 需要检索的字符串  start 检索起始位置默认为0  end结束位置,默认为len(str)
str = 'i want a new computer'
print('计算某个子字符串的出现个数:', str.count("an"))
print(str.count("z"))

print('6、字符串操作-函数-转换###########################################################')
# 转换
# 使用给定的新字符串,替换原字符串中的 旧字符串  replace(old, new[, count])
# old 需要被替换的旧字符串  new 替换后的新字符串
# count  替换的个数  可省略, 表示替换全部
# 并不会修改原字符串本身
str = 'i want a new computer'
print(str.replace('a', 'b', 1))
print(str.replace('a', 'b', 2))
print(str.replace('e', 'xxx'))

# 将字符串首字母变为大写 capitalize()
# 并不会修改原字符串本身
str = 'i want a new computer'
print(str.capitalize())

# 将字符串每个单词的首字母变为大写 title()
# 并不会修改原字符串本身
str = 'i want a new computer'
print(str.title())

# 将字符串每个字符都变为小写 lower()
# 并不会修改原字符串本身
str = 'I Want a NEW computer'
print(str.lower())

# 将字符串每个字符都变为小写 upper()
# 并不会修改原字符串本身
str = 'i want a new computer'
print(str.upper())


print('7、字符串操作-函数-填充压缩###########################################################')
# 填充
# 根据指定字符(1个), 将原字符串填充够指定长度  ljust(width, fillchar) 原字符串靠左
# width 指定结果字符串的长度  fillchar 如果原字符串长度 < 指定长度时  填充过去的字符
# 不会修改原字符串
# 填充字符的长度为1
# 只有原字符串长度 < 指定结果长度时才会填充!!!

# rjust(width, fillchar) 原字符串靠右

# center(width, fillchar) 原字符串靠中
str = '0123456789'
print(str.ljust(13, 'x'))
# print(str.ljust(13, 'xx'))  # TypeError: The fill character must be exactly one character long
print(str.ljust(3, 'x'))
print(str.rjust(13, 'x'))
print(str.center(14, 'x'))

# 压缩
# 移除所有原字符串指定字符(默认为空白字符)  rstrip(chars) 表示从左侧开始移除
# chars  需要移除的字符集
# 不会修改原字符串
# rstrip(chars)  表示从右侧开始移除
str = 'i want a new computer'
print('移除:', str.lstrip('i'))
print(str.rstrip('er'))

print('8、字符串操作-函数-分割拼接###########################################################')
# 分割
# 将一个大的字符串分割成几个子字符串  split(sep, maxsplit)
# sep 分隔符  maxsplit 最大的分割次数  可省略
# 分割后的子字符串组成为列表
# 不会修改原字符
str = 'xxx-21-921-927'
a = str.split('-', 2)
print(a, type(a))

# 根据指定的分隔符, 返回(分隔符左侧内容, 分隔符, 分隔符右侧内容)  partition(sep)
# sep  分隔符
# 如果查找到分隔符  (分隔符左侧内容, 分隔符, 分隔符右侧内容)   tuple 类型
# 如果没有查找到分隔符  (原字符串, "", "")    tuple 类型
# 不会修改原字符串
# rpartition(sep)  表示从右侧开始查找分隔符
str = 'xxx-21-921-927'
a = str.partition('-')
b = str.partition('/')
print(a, type(a), b, type(b))
a = str.rpartition('-')
b = str.rpartition('/')
print(a, type(a), b, type(b))

# 按照换行符(\r, \n), 将字符串拆成多个元素, 保存到列表中   splitlines(keepends)
# keepends 是否保留换行符   bool 类型
# 被换行符分割的多个字符串, 作为元素组成的列表  list 类型
# 不会修改原字符串
str = 'i want\r a new\n computer'
print(str.splitlines(True), type(str.splitlines(True)))
print(str.splitlines(False), type(str.splitlines(False)))

# 拼接
# 根据指定字符串, 将给定的可迭代对象, 进行拼接, 得到拼接后的字符串  join(iterable)
# iterable 可迭代的对象  字符串、元组、列表......
str = '0123456789'
print('x'.join(str), type('x'.join(str)))

print('9、字符串操作-函数-判定###########################################################')
# 判定
# 字符串中是否所有的字符都是字母 isalpha()  bool 类型
# 字符串中是否所有的字符都是数字 isdigit()  bool 类型
# 字符串中是否所有的字符都是字母或数字  isalnum()  bool 类型
# 字符串中是否所有的字符都是空白符(包括缩进、换行等不可见转义符)  isspace()  bool 类型

# 判定一个字符串是否以某个前缀开头 startswith(prefix, start=0, end=len(str))
# prefix 需要判定的前缀字符串  start 判定起始位置  end   判定结束位置     bool 类型
# 判定一个字符串是否以某个后缀结尾  endswith(suffix, start=0, end=len(str))

# in 判定一个字符串, 是否被另外一个字符串包含
# not in  判定一个字符串, 是否不被另外一个字符串包含
print('boy'.isalpha(), 'boy123'.isalpha())
print('boy123'.isdigit(), '123'.isdigit())
print('boy123'.isalnum(), 'boy123/*-+'.isalnum())
print(' \n '.isspace(), '   12'.isspace())
print('wo shi shui'.startswith('wo', 0, 7), 'wo shi shui'.endswith('wo', 0, len('wo shi shui')))
print('shi' in 'wo shi shui', 'wo' not in 'wo shi shui')

结果如下图。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
就先这样,遇到别的再补充。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:09:59  更:2022-02-03 01:11:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:49:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码