3.1Python的字符串深入使用

本文介绍了Python中字符串的转义字符用法,包括转义字符的自动转义和普通化,以及如何使用%占位符和f-string进行格式化输出,展示了不同方法在字符串处理中的应用和优势。
摘要由CSDN通过智能技术生成

        字符串是计算机编程中表示文本数据的一种数据类型。它是由字符组成的序列,可以包含字母、数字、标点符号和其他特殊字符

        

1. 字符串的转义符

转义有两层含义:

        1. 将一些普通符号赋予特殊功能,比如 `\n` , `\t` 等
        2. 将一些特殊符号变为普通符号,比如 `\"` , `\\` 等

以下是一些常见的转义字符及其含义:

案例一,字符串中包含转义字符的自动转义:

s1 = 'D:\Program Files\nancy\table\back\Python 3.12\python.exe'
print('s1:', s1)

直接使用文件路径,可以看到结果显示异常。原因是包含转义字符并自动转换了

同时还有语法警告:SyntaxWarning: invalid escape sequence

案例二,使用反斜杠将转义字符普通化:

s21 = 'D:\Program Files\\nancy\\table\\back\Python 3.12\\python.exe'
s22 = 'D:\\Program Files\\nancy\\table\\back\Python 3.12\\python.exe'
print('s21:', s21)
print('s22:', s22)

可以看到结果显示是没有问题的,但还是有语法警告。

那还能怎样做才是最好的?

案例三,使用 row-string 声明:

s3 = r'D:\Program Files\nancy\table\back\Python 3.12\python.exe'    # row-string
print('s3:', s3)

可以看到结果显示是没有问题的,且没有有语法警告

案例四,使用反斜杠将特殊符号:"" '' 普通化:

# 使用反斜杠 \ 将特殊符号普通化
s4 = "i'm \"feiyi!\""
s5 = 'i\'m "feiyi!"'
print(s4)
print(s5)

2. 格式化输出

        格式化输出是一种将变量值和其他文本组合成特定格式的字符串的技术。它允许我们以可读性更好的方式将数据插入到字符串中,并指定其显示的样式和布局。

        在Python中,有多种方法可以进行格式化输出,其中最常用的方式是使用字符串的 f-strings(格式化字符串字面值)。

【1】%占位符

案例:

name = "feiyi"
age = 500
message = "My name is %s, and I am %s years old." % (name, age)
print(message)

在这个示例中,我们使用 `%s` 占位符将变量 `name` 的值插入到字符串 `"Hello, %s!"` 中,然后通过 `%` 运算符进行格式化。在执行格式化时,`%` 运算符的左侧是字符串模板,右侧是要按顺序插入的值。

【2】f-string格式

        格式化字符串字面值Formatted String Literal,或称为 f-string)来进行格式化输出。适用于 Python 3.6 及以上版本。

案例:

name = "feiyi"
age = 500
height = 188.123456

s = f"姓名:{name: ^10},年龄:{age},身高:{height:^10.5}cm"
print(s)

name = "python"
age = 18
height = 186.2356

print(s)

可以看到,变量s 的格式化声明,仅生效一次。如:

name = "feiyi"
age = 500
height = 188.123456

s = f"姓名:{name: ^10},年龄:{age},身高:{height:^10.5}cm"
print(s)

name = "python"
age = 18
height = 186.2356

s = f"姓名:{name: ^10},年龄:{age},身高:{height:^10.5}cm"
print(s)


【3】f格式化的变量说明

1.宽度与精度

如【2】f-string格式的案例中的:{name: ^10}、{height:^10.5}

格式描述符形式为:`width[.precision]`。

- `width`正整数,设置字符串的宽度。
- `precision`非负整数,可选项,设置字符串的精度,即显示字符串前多少个字符。

2.填充与对齐

格式描述符形式为:`[pad]alignWidth[.precision]`。

- `pad`填充字符,可选,默认空格。
- `align`对齐方式,可选`<`(左对齐),`>`(右对齐),`^`(居中对齐)。

虽然 `%s` 是一种用于字符串格式化的方式,但自从 Python 3.6 版本起,推荐使用格式化字符串字面值(f-string)或 `.format()` 方法来进行字符串格式化,因为它们提供了更简洁和直观的语法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

飛燚非燚

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

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

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

打赏作者

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

抵扣说明:

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

余额充值