字符串--一串字符,python 要求字符串必须使用引号括起来,可以单引号,也可以双引号
2.4.1 字符串和转义字符
字符串的内容几乎可以包含任何字符,中英文都可以。可以单引号或双引号括起来
如果字符串内容本身包含了单引号或双引号,此时需要做特殊处理
- 使用不同的引号将字符串括起来
- 对引号进行转义
str3='I'm a coder' #这种错误的,python会把字符串中的单引号与第一个单引号配对,导致m a coder'变成多余的
str3="I'm a coder" #正确写法
str4='"spring is here,let us jam!",said woodchuck' #另一种写法,本身包含双引号,用单引号括起来
str5 = '"We are scared,Let\'s hide in the shade",says the bird'#同时有单引号双引号,用\来转义
2.4.2 拼接字符串--加号(+)
s2="python"
s3="is Funny"
#使用+拼接字符串
s4=s2+s3
print(s4)
运行结果
pythonis Funny
2.4.3 str()转换成字符串
python 不允许直接拼接数字和字符串,需要将数字转成字符串,用str()函数。
s1 = 'aaa'
s2 = 99.8
print(s1 + s2) # 运行结果会报错,提示 TypeError: can only concatenate str (not "float") to str
print(s1 + str(s2)) # 运行结果:aaa99.8
2.4.4 使用input()获取用户输入
input函数用于向用户生成一条提示,然后获取用户输入的内容。 input()函数总是返回一个字符串
msg = input("请输入你的值:")
print(type(msg))
print(msg)
运行结果:
请输入你的值:2
<class 'str'>
2
2.4.5 长字符串
使用三个引号括起来的长字符串可以赋值给变量
2.4.6 原始字符串
原始字符串以“r”开头,原始字符串不会把反斜线\当成特殊字符,不会进行转义
s1=r'D:\auto\report'
print(s1)
运行结果:
D:\auto\report
2.4.7 字节串(bytes)
字符串(str)由多个字符组成,以字符为单位进行操作,不可变序列
字节串(bytes)由多个字节组成,以字节为单位进行操作,不可变序列
bytes对象只负责以字节(二进制格式)序列来记录数据。
# 创建一个空的bytes
b1 = bytes()
# 创建一个空的bytes值
b2 = b''
# 通过b前缀指定hello是bytes类型的值
b3 = b'hello'
print(b3)
print(b3[0])
print(b3[2:4])
# 调用bytes方法将字符串转换成bytes对象
b4 = bytes('我爱Python编程', encoding='utf-8')
print(b4)
# 利用字符串的encode()方法,编码成bytes,默认使用UTF-8字符集
b5 = '学习python很有趣'.encode('utf-8')
print(b5)
运行结果:
上面程序中b1-b5都是字节串对象,其中b2、b3都是直接在ASCII字符串前添加b前缀来得到字符串的;b4调用bytes()函数来构建字节串;b5调用字符串的encode方法来构建字节串。
b'hello'
104
b'll'
b'\xe6\x88\x91\xe7\x88\xb1Python\xe7\xbc\x96\xe7\xa8\x8b'
b'\xe5\xad\xa6\xe4\xb9\xa0python\xe5\xbe\x88\xe6\x9c\x89\xe8\xb6\xa3'