好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

浅谈python学习之字符编码与字符串

本篇文章给大家带来的内容是浅谈python学习之字符编码与字符串。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

在最新的 Python 3 版本中,字符串是以 Unicode 编码的,也就是说, Python 的字符串支持多语言

Python 的字符串类型是 str, 如果要在网络上传输,或者保存到磁盘上,就需要把 str 变为 bytes 。

>>为了避免乱码问题,应当始终坚持使用UTF-8编码对 str 和 bytes 进行转换 <<

str和bytes的区别

1)str 一个字符对应若干个字节 , 但 bytes 的每个字符都只占用一个字节。(将多字节的字符分解为单字节的多字符)

>>> 'ABC'.encode('ascii') b'ABC' >>> '中文'.encode('utf-8') b'\xe4\xb8\xad\xe6\x96\x87'

在 bytes 中,无法显示为 ASCII 字符的字节,用 \x## 显示。

2)bytes 字符带前缀,带引号

.py文件中含中文要用utf-8编码

#!/usr/bin/env python3 # -*- coding: utf-8 -*-

第一行注释是为了告诉 Linux/OS X 系统,这是一个 Python 可执行程序, Windows 系统会忽略这个注释;

第二行注释是为了告诉 Python 解释器,按照 UTF-8 编码读取源代码,否则,你在源代码中写的中文 输出可能会有乱码。

>> 编辑器用 UTF-8 without BOM<<

字符串格式化 问题

>>> 'Hello, %s' % 'world' 'Hello, world' >>> 'Hi, %s, you have $%d.' % ('Michael', 1000000) 'Hi, Michael, you have $1000000.'

% 运算符

就是用来格式化字符串的。在字符串内部有几个 %? 占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个 %? ,括号可以省略。

转义,用 %% 来表示一个 %

>>> 'growth rate: %d %%' % 7 'growth rate: 7 %'

占位符 替换内容 %d 整数 %f 浮点数 %s 字符串 %x 十六进制整数

format()

另一种格式化字符串的方法是使用字符串的 format() 方法,它会用传入的参数依次替换字符串内的占位符 {0} 、 {1}…… ,不过这种方式写起来比 % 要麻烦得多:

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125) 'Hello, 小明, 成绩提升了 17.1%'

以上就是浅谈python学习之字符编码与字符串的详细内容,更多请关注Gxl网其它相关文章!

查看更多关于浅谈python学习之字符编码与字符串的详细内容...

  阅读:31次