1.字符串 ①编码格式 UTF-8是国际通用的编码,以一个字节表示英语字符(兼容ASCII),以三个字节表示中文及其他语言,对所有国家需要使用的字符进行了编码。 GB2312/GBK是我国制定的中文编码标准,使用一个字节表示英语,两个字节表示中文。 CP936是微软公司在GBK基础上开发的编码方式。 Unicode是不同编码风格之间相互转换的基础。 可以用显式声明编码格式: #coding=utf-8 #coding:GBK #-*-coding:utf-8-*- #Python3.x默认编码为UTF-8 ②Python版本对中文的支持不同 Python2.x对中文支持不够,因此需要在不同编码 Python程序设计中的字符串是编程中不可或缺的部分,尤其在处理文本数据时显得尤为重要。字符串是由一个或多个字符组成的序列,它们可以表示文字、数字或其他符号。本文主要探讨了字符串的编码格式、Python对中文的支持、字符串的特性以及常用操作。 1. **编码格式**: - **UTF-8** 是国际通用的编码标准,它使用1至4个字节表示不同的字符,对于英文字符(兼容ASCII)只需1字节,而中文及其他语言则用3字节。相比之下,**GB2312** 和 **GBK** 是中国制定的编码标准,GB2312使用1字节表示英文,2字节表示中文,GBK是在GB2312基础上扩展的,增加了更多的汉字。**CP936** 是微软基于GBK的编码方式。**Unicode** 是一个更大的字符集,用于统一各种编码方式,是不同编码之间转换的基础。 - 在Python源代码中,可以使用注释声明编码格式,如 `#coding=utf-8`,以确保正确解析包含非ASCII字符的代码。 2. **Python版本对中文的支持**: - Python2.x对中文支持不足,需要通过编码转换来处理中文,例如使用`decode()`和`encode()`方法。而在Python3.x中,Python全面支持中文,包括变量名,无需额外处理。 3. **字符串特性**: - 字符串是不可变序列类型,这意味着一旦创建,就不能更改其内容。我们可以使用单引号、双引号、三单引号或三双引号来定义字符串,并能相互嵌套。字符串提供了多种操作,如比较、计算长度、元素访问、分片,以及特定操作如格式化、查找、替换等。尽管不能直接修改字符串,但可以通过`replace()`或`translate()`方法生成新的字符串。 4. **字符串驻留机制**: - 对于短字符串,Python有一种称为驻留机制的优化,相同短字符串在内存中只存储一份。例如,`a='1234'` 和 `b='1234'` 的`id`会相同,表明它们指向同一个对象。但当字符串过长时,这种机制不再适用。 5. **字符串格式化**: - Python中的传统字符串格式化使用`%`运算符,允许指定输出格式,如宽度、精度、对齐方式等。此外,`%s`用于字符串,`%d`用于整数,`%f`用于浮点数,还有 `%e` 和 `%g` 等用于科学记数法。Python3.x引入了更灵活的`format()`函数,允许使用位置或名称参数,以及序列解包。 6. **字符串方法**: - `find()`和`rfind()`用于查找子串位置,`index()`则返回子串首次出现的位置,`count()`计算子串出现的次数。 - `split()`和`rsplit()`用于分割字符串,`partition()`则将字符串分为三部分,前后部分加上指定的分隔符。 - 转换方法如`upper()`、`lower()`、`capitalize()`、`title()`和`swapcase()`用于改变字符串的大小写。 - `replace()`用于替换字符串中的子串,`maketrans()`和`translate()`则用于字符映射和替换。 掌握这些基本概念和操作对于编写处理文本的Python程序至关重要。在实际编程中,了解并熟练运用这些知识能够有效提高代码的可读性和效率。































- 粉丝: 8
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 自动驾驶常用路径规划算法C++实现
- STM32F103RCT6-单片机开发资源
- malagu-Typescript资源
- excelize-Go资源
- OpenAuth.Net-C#资源
- Ingenious 工作流引擎-PHP资源
- NanUI-JavaScript资源
- SQLAuto-SQL资源
- Great_2-计算机二级资源
- A Simple Autodrive System Tool Chain, 一个简易的自动驾驶系统工具链
- Friday-毕业设计资源
- 人工智能、大数据与物联网改造管理
- 从网络谣言看网民的态度及其心理.docx
- 个人计算机的安全防护策略.doc
- 基于PLC的立体车库的方案设计书.doc
- 单片机温湿度控制的课程设计.doc


