《疯狂python讲义》-第二章 变量和简单类型-2.4 字符串入门

字符串--一串字符,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

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'

你可能感兴趣的:(《疯狂python讲义》-第二章 变量和简单类型-2.4 字符串入门)