Python 基础学习02:字符串
Python 对于字符串的处理比较灵活,也是编写 Python 程序必不可少的一种数据类型。
引号以及对引号进行转义
在 Python 中使用字符串需要对其添加单引号或双引号:
1 | >>> Hello World |
如果直接在解释器中输入字符串将导柱出现语法错误,中文也是如此。
单引号与双引号有区别吗?没有区别,但是会有特定的情况,例如:
1 | >>> "Let't Go!" |
归纳就是引号里面不能嵌套同种类型的引号,如果字符串中引号,Python 需要使用不同的引号进行括起,或者使用转义符 \。
1 | >>> 'Let\'t Go!' |
字符串的拼接
使用 + 进行字符串的拼接:
1 | >>> "Hello" + "World" |
str() 和 repr()
前面在 Python 解释器返回的内容在实际程序中用户是看不见的,如果要看到输出需要使用到 print() 函数。
1 | >>> string="Hello World" |
可以看到在解释器中返回内容的区别,直接调用变量名返回了一个引号括起的内容,代表是字符串,print() 打印的内容没有引号。
通过 print() 可以使用一些 如\n 的换行符:
1 | >>> print("Hello \nWorld") |
str() 与 repr() 的区别:
str:返回对用户友好格式的对象repr:返回对开发者友好的格式对象
更直观的例子:1
2
3
4
5
6import datetime
today = datetime.datetime.now()
print(str(today))
2023-10-25 23:09:42.719793
print(repr(today))
datetime.datetime(2023, 10, 25, 23, 9, 42, 719793)
补充:
当对对象调用str()时,调用的是对象的__str__方法,调用repr()时,调用对象的__repr__方法。
长字符串、原始字符串和字节
要表示很长的字符串(多行),可以使用三引号:
1 | >>> print(''' 第一行内容 |
原始字符串不会特殊字符进行转义,例如 \, 在路径中经常使用到该方式,例如路径为 C:\data\npython :
1 | >>> print("C:\data\npython") |
使用原始字符进行打印:
1 | >>> print(r"C:\data\npython") |
Unicode bytes bytearray
Python 字符串使用 Unicode 编码来表示文本,在特定情况下也可以使用其它的编码,例如:
1 | >>> '你好世界'.encode("utf-8") |
可以看到同样的字符上述中文字符使用上述编码时 GBK 编码占用空间最少,同时转换 ASCII 码失败,因为在 ASCII 码中没有定义中文字符。
转换后前面的 b 代表的是 bytes 类型,这种类型的字符串无法更改。
bytearray 是 bytes 的可变版,可以进行修改:
1 | >>> str = bytearray(b"Hello!") |
评论· · · · · ·