立即学习:https://edu.csdn.net/course/play/24797/282155?utm_source=blogtoedu
字符串入门
1、字符串的基础用法
几乎包含任何字符串,英文、中文都可以
既杺用单引号,也可以用双引号
如果引号本身就是字符串怎么办?
办法1:用不同的此号把它括起来
>>> a="hello' python"
>>> print(a)
hello' python
方法2:对引号进行转义(用反斜杠来转义)
>>> a='hello\' python'
>>> print(a)
hello' python
2、字符串的拼接 (重点)
方法1:使用‘“+”号将两个字符串拼接在一起
>>> a='我今年'
>>> b='35岁'
>>> c=a+b
>>> print(c)
我今年35岁
方法2:数值必须先用str()或repr()函数转换才能拼接,repr()函数转换后的字符串用引号括起来,让人更直观的看到是字符串
>>> a=100.005 #这是数值
>>> print(a)
100.005 #这个是数值
>>> print(str(a))
100.005 #这个是字符串(无引号,不容易看出来是字符串,还是数值)
>>> print(repr(a))
100.005 #这个扔然是数值(因为没有转换成字符串)
>>> print(repr(str(a)))
'100.005' #这个是字符串(用此号括起来的)
input()向用户生成一条提示,然后获取用户输入内容
>>> a=input('请输入你的年龄:')
请输入你的年龄: #手工僌 35
>>> print(repr(a))
'35'
3、长字符串与原始字符串(重点)
(1)、长字符串使用三个引号(单、双 都行)括起来
>>> longstr='''haha!
你在干什么?
我在写代码
'''
>>> print(longstr)
haha!
你在干什么?
我在写代码
或用转义字符(、)对换行符转义,如下:
>>> longstr='haha!\n 你在干什么?\n我在写代码'
>>> print(longstr)
haha!
你在干什么?
我在写代码
>>>
(2)、原始字符串
原始字符串以r开头,原始字符串不会把反斜杠当成特殊字符。
如果原始字符串中包含引号,程序同样需要对引号进行转义,否则Pthon同样无法对字符串的引号精确配对。
在原始字符串中,除引号之外的其他所有字符串,都原原本本地保留。如下:
>>> a='ALGGJG\FDJFG,/"OEITI0987'
>>> print(a)
ALGGJG\FDJFG,/"OEITI0987
>>> a='ALGGJG\FDJFG,/'OEITI0987'
SyntaxError: invalid syntax
>>> print(a)
ALGGJG\FDJFG,/"OEITI0987
>>> a='ALGGJG\FDJFG,/\'OEITI0987'
>>> print(a)
ALGGJG\FDJFG,/'OEITI0987
>>>
4、字节与字符串(重点/难点)
字节串(bytes)是同多个字节组成
字符串(str)是由多个字符组成
字节串与字符串除了操作的数据单元不同外,其他所有的操作方法基本相同,字节串也是不可变序列。
字符串与字节串之间可以相互转换:
将bytes转为str,有三种方式:
(1)、如果字符串的内容都是ASCII字符,可以通过直接在字符串之前 添加b来构建字节串的值。
>>> a=b'ABc'
>>> print(a)
b'ABc'
>>> print(type(a))
<class 'bytes'>
>>> a='ABc'
>>> print(type(a))
<class 'str'>
(2)使用bytees()函数转换,默认使用UTF-8字符集;
>>> a=bytes("我爱你中国!","UTF-8")
>>> print(a)
b''\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81'
>>> print(type(a))
<class 'bytes'>
(3)调用字符串本身的encode()方法
>>> a='我爱你中国!'.encode()
>>> print(a)
b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81'
>>>
(4)将字节串转为字符串(bytes --> str ):
调用bytes对象的decode()方法将bytes对句解码成字符串 进行转换,如下:
>>> a=b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81'
>>> print(a.decode("UTF-8"))
我爱你中国!