Python3 字符串基础:引号类型、转义与数字运算详解
本文详解Python3中字符串的三种表现形式:单引号、双引号及三引号,重点解析单引号内嵌撇号的转义处理、三引号换行特性及反斜杠续行技巧。同时阐明字符串与数字的运算逻辑:同类型字符串可拼接,但字符串与数字直接相加会报错,而字符串支持乘法运算实现重复输出。
Python3字符串概述
在Python3中,字符串是最基础且常用的数据类型之一。
字符串主要包含三种表现形式:单引号、双引号以及三引号。无论采用哪种形式,引号必须成对出现,即起始和结束符号需保持一致。
引号类型与基本定义
单引号和双引号分别对应英文状态下的 ' 和 ",而三引号则由三个连续的单引号 ''' 或三个连续的双引号 """ 构成。在Python中,这三种引号的使用没有优先级顺序之分。只要在一对匹配的引号之间添加内容,即可构成字符串,例如:
#单引号#
'123' '小明' 'xyz'
#双引号#
"123" "小明" "xyz"
单引号与转义处理
关于单引号的使用细节:
单引号在编程中较为特殊,因为英文语法中常包含缩写形式,例如 'what is your name?' 或 'what's your name?'。若在Python3中直接使用单引号包裹包含撇号的句子,如 'what's your name?',程序会报错。
这是因为Python解释器不识别自然语言的语法规则,仅检查代码语法。当输入 'what's your name?' 时,Python会将 'what' 识别为第一个字符串,而将剩余的 s your name?' 视为语法错误的残留部分,从而导致错误。
解决此问题的正确方法是使用双引号包裹字符串。当然,若坚持使用单引号,可以通过转义字符 \ 来处理内部的单引号。请注意,转义字符是反斜杠 \ 而非正斜杠 /,具体用法如下:
#双引号#
>>> "what's your name?"
"what's your name?"
#单引号加转义字符#
>>> 'what\'s your name?'
"what's your name?"
三引号与换行技巧
关于三引号的使用场景:
三引号的主要优势在于支持多行字符串。当代码或文本过长时,使用三引号(必须成对,即开始和结束均为单引号或均为双引号)可以实现自然的换行输出,便于阅读和理解。
需要注意的是,直接在三引号中换行输入,最终生成的字符串内部会包含换行符 \n。这是因为在输入时敲击回车键实际上插入了一个不可见的换行字符,Python将其表示为 \n。
此外,单引号和双引号字符串也可以通过在行尾添加反斜杠 \ 来实现逻辑上的换行输入,从而保持代码的一行性。
关于转义字符 \n 的另一个重要应用:在 print 函数中直接使用 \n,可以实现输出内容的分行显示,且控制台不会显示 \n 本身。尽管代码书写时仍为一行,但输出效果为多行,示例如下:
#print+转义字符\n,输出结果换行#
>>> print ('123\n456\n789')
123
456
789
>>> print ("123\n456\n789")
123
456
789
>>> print ('''123\n456\n789''')
123
456
789
>>> print ("""123\n456\n789""")
123
456
789
#\换行(单双三引号都一样,所以就只展示一个单引号)#
>>>'123\
123\
123'
'123123123'
#三引号换行#
>>> '''
123
456
789
'''
'\n123\n456\n789'
>>> """123
456
789"""
'123\n456\n789'
#还有一点,三引号和加\的单双引号,不论引号是在哪里都可以,只要包含字符就可以#
字符串与数字的运算规则
需要区分的是,Python中的字符串 '123' 与数字 123 是完全不同的类型。如果执行数字之间的加法运算,例如 123 + 456,结果将是数值 579。
如果执行两个字符串之间的加法运算,例如 '123' + '456',Python会将它们视为文本拼接,结果为字符串 '123456'。
然而,如果尝试将字符串与数字直接相加,例如 '123' + 456,Python会抛出类型错误(TypeError),因为这两种类型不能直接混合运算。具体报错信息如下:
#数字加数字#
>>> 123+456
579
#字符加字符#
>>> '123'+'456'
'123456'
#字符与数字相加#
>>> '123'+456
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
'123'+456
TypeError: can only concatenate str (not "int") to str
虽然字符串与数字不能相加,但它们可以相乘。在Python中,字符串乘以整数 n 表示将该字符串重复输出 n 次。示例如下:
#在python中*代表乘法,/代表保留小数点的除法,//代表只保留整数的除法,+代表加法,——代表减法#
>>> '123'*3
'123123123'
>>> '重要的事'*3
'重要的事重要的事重要的事'
需要注意的是,字符串与字符串之间不能进行乘法运算,即 'a' * 'b' 是非法操作。
以上内容涵盖了Python3中字符串的基本用法、引号差异、转义处理以及与数字的运算规则,希望对读者有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













