Python字符串终极指南!单引号、双引号、三引号区别全解析

boyanx4个月前技术教程19

导语: Python中字符串(str)是最核心的数据类型!无论你是输出"Hello World"还是处理用户数据,都离不开它。今天彻底讲清字符串的三大定义方式及其核心区别,新手必看!

一、字符串本质:不可变的字符序列

  • 基础认知:
    • 所有文字信息(如"Hello World""玛利亚")都是字符串
    • 核心特性:不可变(修改会创建新对象)
    • 类型标识:<class 'str'>

二、三大定义方式对比

方式1:单引号定义'内容'

str1 = '人生苦短,我用Python'  
print(str1)          # 输出:人生苦短,我用Python
print(type(str1))    # 输出:<class 'str'>

方式2:双引号定义"内容"

str2 = "人生苦短,我用Python"
print(str2)          # 输出:人生苦短,我用Python
print(type(str2))    # 输出:<class 'str'>

单/双引号核心特点:

  • 功能完全等价
  • 内容必须写在一行
  • 跨行会报错:SyntaxError: EOL while scanning string literal

方式3:三引号定义'''内容'''"""内容"""

# 三个单引号 ▼
str3 = '''人生苦短,
我用Python'''
          
# 三个双引号 ▼
str4 = """人生苦短,
我用Python"""

三引号独有能力:

  • 支持跨行书写
  • 保留所有换行和缩进格式
  • 输出效果:
人生苦短,
我用Python

三、终极结论:三大方式如何选?

方式

符号

是否支持换行

使用场景

单引号

' '

简单单行文本

双引号

" "

含单引号的文本("It's")

三引号

''' '''""" """

多行文本/文档注释

避坑指南:

  1. 单/双引号混用可解决嵌套问题:print("他说:'你好'")
  2. 跨行文本必须用三引号,否则报错
  3. 三引号也是定义多行注释的首选方式

四、实战技巧:三引号的妙用

# 场景1:保存多行消息
email_content = """
尊敬的客户:
    您的订单已发货
    物流单号:SF123456789
"""

# 场景2:函数文档注释(docstring)
def calculate_sum(a, b):
    """
    计算两数之和
    参数:
        a: 第一个数字
        b: 第二个数字
    返回:
        两数之和
    """
    return a + b

总结:
Python字符串三件套,按需选择效率高!
单引双引单行用,三引跨行是王道!

相关文章

Python字符串比较的隐藏法则:Unicode对决、内存地址暗战!

字符串比较的底层规则核心原理:字符逐个对比,基于Unicode值一决胜负!# 规则演示:从首字符开始逐位比较 print("apple" > "app")...

Go 语言字符串操作终极指南(go语言chan)

Go 语言字符串操作终极指南Go 语言提供了强大而高效的字符串处理能力,本文将全面介绍 Go 中字符串的各种操作技巧,从基础到高级应用,涵盖性能优化和实际场景解决方案。一、字符串基础与特性1. 字符串...

5岁儿子是不是亲生的?他做了两次鉴定,结果相反

一份亲子鉴定报告,关系着一个甚至多个家庭的幸福。“前几天,有一个宁波慈溪的客户火冒三丈地来投诉,说亲子鉴定结果错了。结果,这是一场闹剧。”宁波天童司法鉴定中心主任许卫平和记者说起了一件事。他说,这事,...

刘心向学(37)__repr__ 与 __str__:深入理解对象的字符串表示

分享兴趣,传播快乐, 增长见闻,留下美好! 亲爱的您,这里是LearningYard新学苑。 今天小编为大家带来文章 “刘心向学(37):__repr__ 与 __str__:深入理解对象的字符串表示...

python进阶100集(6)深入分析字符串切片

以下是关于Python字符串切片及修改替换的深度解析,包含原理说明和典型操作示例:#python##python自学##python教程#一、字符串切片机制1. 切片基础语法str[start:...

Java中你知道几种从字符串中找指定的字符的数量

遇到这样的问题,常规的思路估计就是遍历String,然后逐个对比。下面先看循环遍历循环遍历private static int getNum(String originStr, String targ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。