04-Python-字符串str介绍

目录

1. 字符串介绍

2. 字符串方法

   2.1 格式化字符串

   2.2 拼接字符串

   2.3  分割字符串

   2.4 其他常用方法

 


1. 字符串介绍

  • 介绍:在 Python 中处理文本数据是使用 str 对象,也称为 字符串。 字符串是由 Unicode 码位构成的不可变 序列

    写法

  • 单引号: '允许包含有 "双" 引号'
  • 双引号: "允许包含有 '单' 引号"
  • 三重引号: '''三重单引号'''"""三重双引号"""
# -*- coding: utf-8 -*-
# @Time    : 2021/1/24
# @Author  : 大海

# 单引号写法
a = 'a'

# 双引号写法,可包含单引号
b = "b"
c = "'c'"

# 三引号
d = '''d'''
e = """e"""

2. 字符串方法

   2.1 格式化字符串

  • str.format(*args**kwargs):执行字符串格式化操作。 调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域。 每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。 返回的字符串副本中每个替换域都会被替换为对应参数的字符串值。
# -*- coding: utf-8 -*-
# @Time    : 2021/1/24
# @Author  : 大海

# 不设置指定位置,按默认顺序
text = "{},我是测试小白,{}"
print(text.format("大家好", "很高兴认识大家"))

# 设置指定位置
text1 = "{0},我是测试小白,{1}"
print(text1.format("大家好", "很高兴认识大家"))

text2 = "网站名:{name}, 地址 {url}"
print(text2.format(name="小白的博客", url="https://blog.csdn.net/IT_heima"))

# 通过字典设置参数
site = {"name": "小白的博客", "url": "https://blog.csdn.net/IT_heima"}
print("网站名:{name}, 地址 {url}".format(**site))

# 数字格式化
num = 3.1415926
print("{:.2f}".format(num))

数字格式化

数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}+3.14带符号保留小数点后两位
-1{:+.2f}-1.00带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为2)
5{:x<4d}5xxx数字补x (填充右边, 宽度为4)
10{:x<4d}10xx数字补x (填充右边, 宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00e+09指数记法
13{:>10d}        13右对齐 (默认, 宽度为10)
13{:<10d}13左对齐 (宽度为10)
13{:^10d}    13中间对齐 (宽度为10)

   2.2 拼接字符串

  • str.join(iterable):返回一个由 iterable 中的字符串拼接而成的字符串。
# -*- coding: utf-8 -*-
# @Time    : 2021/1/24
# @Author  : 大海

list_one = ['h', 'e', 'l', 'l', 'o']
print(''.join(list_one))   
print(','.join(list_one))  # 以逗号拼接

   2.3  分割字符串

  • str.split(sep=Nonemaxsplit=-1):返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串。 如果给出了 maxsplit,则最多进行 maxsplit 次拆分(因此,列表最多会有 maxsplit+1 个元素)。 如果 maxsplit 未指定或为 -1,则不限制拆分次数(进行所有可能的拆分)
# -*- coding: utf-8 -*-
# @Time    : 2021/1/24
# @Author  : 大海

text1 = '1,2,3'
print(text1.split(','))

text2 = '1,2,3'
print(text2.split(',', maxsplit=1))

text3 = '1,2,,3'
print(text3.split(','))

text3 = '1,2,3'
print(text3.split(','))

   2.4 其他常用方法

  • str.capitalize():返回原字符串的副本,其首个字符大写,其余为小写
  • str.casefold() :返回原字符串消除大小写的副本。 消除大小写的字符串可用于忽略大小写的匹配。
  • str.center(width[, fillchar]):返回长度为 width 的字符串,原字符串在其正中。 使用指定的 fillchar 填充两边的空位(默认使用 ASCII 空格符)。 如果 width 小于等于 len(s) 则返回原字符串的副本
  • str.count(sub[, start[, end]]):返回子字符串 sub 在 [startend] 范围内非重叠出现的次数。 可选参数 start 与 end 会被解读为切片表示法
  • str.encode(encoding="utf-8"errors="strict"):返回原字符串编码为字节串对象的版本。 默认编码为 'utf-8'
  • str.endswith(suffix[, start[, end]]):如果字符串以指定的 suffix 结束返回 True,否则返回 False。 suffix 也可以为由多个供查找的后缀构成的元组。 如果有可选项 start,将从所指定位置开始检查。 如果有可选项 end,将在所指定位置停止比较。
  • str.find(sub[, start[, end]]):返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引。 可选参数 start 与 end 会被解读为切片表示法。 如果 sub 未被找到则返回 -1
  • str.index(sub[, start[, end]]):类似于 find(),但在找不到子类时会引发 ValueError
  • str.isalnum():如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True , 否则返回 False 。
  • str.lower():返回原字符串的副本,其中所有区分大小写的字符 均转换为小写
  • str.upper():返回原字符串的副本,其中所有区分大小写的字符均转换为大写
  • str.strip([chars]):返回原字符串的副本,移除其中的前导和末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空格符。
# -*- coding: utf-8 -*-
# @Time    : 2021/1/24
# @Author  : 大海

text1 = 'hello world'
print(text1.capitalize())  # Hello world

text2 = 'Hello World'
print(text2.casefold())  # hello world

print(text1.center(20))
print(text1.center(20, '*'))  # ****hello world*****
print(text1.center(5))  # hello world   小于原字符串长度,返回原字符串

print(text1.count('l'))  # 3
print(text1.count('l', 3))  # 2  索引从3开始

print(text2.encode())  # b'Hello World'

print(text1.endswith('d'))
print(text1.endswith('l'))
print(text1.endswith(('l', 'd')))  # 多个查找后缀的元组
print(text1.endswith('l', 0, 4))  # 查找索引 0-4,不包含索引4

print(text1.find('l'))  # 返回l的最小索引
print(text1.find('l', 5))  # 从索引5到最后查找
print(text1.find('g'))  # 未找到返回-1

print(text1.index('l'))  # 返回l的最小索引
# print(text1.index('g'))  # 未找到抛异常 ValueError

text3 = 'python2'
text4 = 'hello_world'
print(text3.isalnum())
print(text4.isalnum())

text5 = 'HELLO WORLD'
print(text5.lower())
print(text1.upper())

text6 = ' hello '
text7 = '&hello'
print(text6.strip())
print(text6.strip('& '))  # 去除多个条件

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱学习de测试小白

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

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

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

打赏作者

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

抵扣说明:

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

余额充值