Python可以做什么?
可以做日常任务,比如备份你的MP3;可以做网站,很多著名的网站包括Youtube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多事情。
Python不适合做什么?
Python当然也有很多不适合做的事情,比如写操作系统,这个C语言比较擅长;写手机应用,一般用Swift/Objective-C(iPhone)和Java/Kotlin(Android);写3D游戏,最好用C或C++。
Python的字符串
在Python3中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符
>>> ord('翯')
32751
>>> chr(32751)
'翯'
>>>
如果知道字符的整数编码,还可以用十六进制来写字符串
>>> '\u7fef'
'翯'
>>>
如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes
Python中对bytes类型数据的用b前缀的单引号或者双引号表示
以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:
>>> 'hello'.encode('ascii')
b'hello'
>>> '翯'.encode('utf-8')
b'\xe7\xbf\xaf'
>>>
注意:纯英文的str可以用ASCII编码为bytes,内容是一样的,但是含有中文的str不能用ASCII编码
在bytes中,无法显示为ASCII字符的字节,用\x##显示
如果我们从网络或者磁盘上读取了字节流,那么读到的数据bytes,要把bytes转换成str,可以使用decode()方法
>>> b'\xe7\xbf\xaf'.decode('utf-8')
'翯'
>>>
len()函数可以用来计算str包含多少个字符
>>> len('lyh')
3
>>> len('刘羽翯')
3
>>>
len()函数也可以用来计算bytes的字节数
>>> len(b'\xe7\xbf\xaf')
3
>>>
从结果中,我们可以看到一个中文字符经过UTF-8编码后通常会占用3个字节,而一个英文字符只占用一个字节