Python程序设计之字符串

本文介绍了Python中的字符串,包括编码格式如UTF-8、GBK、CP936和Unicode,Python2与3对中文的支持差异,不可变序列类型的特性,字符串格式化推荐使用format()函数,以及如何实现可变字符串的方法。同时,还提到了字符串驻留机制和一些常用的字符串操作。
摘要由CSDN通过智能技术生成

1.字符串
①编码格式
UTF-8是国际通用的编码,以一个字节表示英语字符(兼容ASCII),以三个字节表示中文及其他语言,对所有国家需要使用的字符进行了编码。
GB2312/GBK是我国制定的中文编码标准,使用一个字节表示英语,两个字节表示中文。
CP936是微软公司在GBK基础上开发的编码方式。
Unicode是不同编码风格之间相互转换的基础。
可以用显式声明编码格式:

#coding=utf-8
#coding:GBK
#-*-coding:utf-8-*-
#Python3.x默认编码为UTF-8

②Python版本对中文的支持不同
Python2.x对中文支持不够,因此需要在不同编码之间转换;Python3.x完全支持中文,包括变量。

③字符串属于不可变序列类型,使用单引号、双引号、三单引号或三双引号作为界定符,并且不同界定符之间可以相互嵌套。字符串可以有常见的序列通用方法(包括比较,计算长度,元素访问,分片)以及特有的操作(格式化操作,字符串查找,字符串替换等),但字符串属于不可变序列,即不能修改原有字符串,但是可以通过replace()、translate()方法来修改字符串(变成新的字符串)然后赋值给变量。
a)字符串驻留机制:
短字符串有驻留机制,长字符串不符合

a='1234'
b='1234'
id(a)==id(b)	#True
a=a*50
b=b*50
id(a)==id(b)	#False

在Python2.x中字符串有str和unicode两种格式,其基类都是basestring,在Python3.x中只有str类型,字符串对象不再支持decode()方法

#Python 2.x中字符串
type('中国')
<type 'str'>
type('中国'.decode('gbk'))
<type 'unicode'>

#Python 3.x中字符
type('中国')
<type 'str'>
type('中国'.encode('gbk'))
<class 'bytes'>

④字符串格式化
格式:

'% [-] [+] [0] [m] [.n] 格式字符'% x
#第一个%:格式标志,表示格式开始
#第一个中括号:指定左对齐输出
#第二个中括号:对正数加+号
#第三个中括号:指定空位填0
#第四个中括号:指定最小宽度
#第五个中括号:指定精度
#格式字符:指定类型,见下表
#第二个%号:格式运算符
#x:带转换的表达式

#格式字符有
%s	#字符串(采用str()的显示)
%r	#字符串(采用rper()的显示)
%c	#表示单个字符
%%	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值